﻿using System;
//using System.Collections.Generic;
//using System.ComponentModel;
using System.Data;
//using System.Drawing;
//using System.Text;
using System.Globalization;
using System.Text.RegularExpressions;
using System.Windows.Forms;
using System.Data.SqlClient;
//using System.Drawing.Drawing2D;
using DevExpress.XtraEditors;
using DevExpress.XtraGrid.Views.Base;
using DevExpress.XtraEditors.Controls;
using prjKQXS_DLL;
using System.Linq;
using System.Collections.Generic;
using prjKQXS_DLL.LoTo;

namespace prjKQXS_UI.Lo_to
{
    public partial class frmNhapSoDuThuongLoTo : XtraForm
    {
        public string _TenMay = Environment.MachineName; 
        public DataTable bansaoLoTo = new DataTable();
        public frmNhapSoDuThuongLoTo()
        {
            InitializeComponent();
        }       
            int f1 = 1;
            protected override bool ProcessCmdKey(ref Message msg, Keys keyData)
            {
                // tạo phím tắt trên bàn phím khi nhập lô tô
                isPressF1 = false;
                if (keyData == Keys.F1)
                {
                    isPressF1 = true;
                    txtmadl.Focus();
                    txtmadl.SelectAll();
                    checkSLveThucTe();
                }
                else if (keyData == Keys.F2)
                {
                    // Neu kiem tra co du lieu o 1 trong bat ky textbox can kiem tra thi focus toi
                    // textbox do
                    if (ActiveTxtBoxInList())
                        return base.ProcessCmdKey(ref msg, keyData);
                    txtslve5000.Enabled = true;
                    txtslve10000.Enabled = false;
                    txtslvec10000.Enabled = false;
                    txtslvec20000.Enabled = false;
                    txtslve5000.Focus();
                }
                else if (keyData == Keys.F3)
                {
                    // Neu kiem tra co du lieu o 1 trong bat ky textbox can kiem tra thi focus toi
                    // textbox do
                    if (ActiveTxtBoxInList())
                        return base.ProcessCmdKey(ref msg, keyData);
                    txtslve10000.Enabled = true;
                    txtslve5000.Enabled = false;
                    txtslvec20000.Enabled = false;
                    txtslvec10000.Enabled = false;
                    txtslve10000.Focus();
                }
                else if (keyData == Keys.F5)
                {
                    // Neu kiem tra co du lieu o 1 trong bat ky textbox can kiem tra thi focus toi
                    // textbox do
                    if (ActiveTxtBoxInList())
                        return base.ProcessCmdKey(ref msg, keyData);
                    txtslvec10000.Enabled = true;
                    txtslve10000.Enabled = false;
                    txtslvec20000.Enabled = false;
                    txtslve5000.Enabled = false;
                    txtslvec10000.Focus();
                }
                else if (keyData == Keys.F6)
                {
                    // Neu kiem tra co du lieu o 1 trong bat ky textbox can kiem tra thi focus toi
                    // textbox do
                    if (ActiveTxtBoxInList())
                        return base.ProcessCmdKey(ref msg, keyData);
                    txtslvec20000.Enabled = true;
                    txtslve10000.Enabled = false;
                    txtslvec10000.Enabled = false;
                    txtslve5000.Enabled = false;
                    txtslvec20000.Focus();
                }
                //  check focus txt nhap loto
                int totalRow = 0;
                if (keyData == Keys.Enter)
                {
                    if (gvBangke.RowCount > 0)
                    {
                        switch (gvBangke.FocusedColumn.FieldName)
                        {
                            case "Ve5":
                                totalRow = Sl5;
                                break;
                            case "Ve10":
                                totalRow = Sl10;
                                break;
                            case "Vec10":
                                totalRow = Slc10;
                                break;
                            case "Vec20":
                                totalRow = Slc20;
                                break;
                        }
                        if (clsLoTo.CheckLastIndexofColumnInDatatable(totalRow, (DataTable) gcBangke.DataSource,
                                                                      gvBangke.FocusedColumn.FieldName))
                        {
                            //e.Handled = false;
                            txtslvec20000.Enabled = false;
                            txtslve10000.Enabled = false;
                            txtslvec10000.Enabled = false;
                            txtslve5000.Enabled = false;
                            switch (gvBangke.FocusedColumn.FieldName)
                            {
                                case "Ve5":
                                    txtslve5000.Enabled = true;
                                    if (txtslve5000.CanFocus)
                                        txtslve5000.Focus();
                                    break;
                                case "Ve10":
                                    txtslve10000.Enabled = true;
                                    txtslve10000.Focus();
                                    break;
                                case "Vec10":
                                    txtslvec10000.Enabled = true;
                                    txtslvec10000.Focus();
                                    break;
                                case "Vec20":
                                    txtslvec20000.Enabled = true;
                                    txtslvec20000.Focus();
                                    break;
                            }
                        }
                    }}
                return base.ProcessCmdKey(ref msg, keyData);
            }
            private DataTable LoadLoToOld()
            {
                DataTable dt = new DataTable();
                try
                {
                    SqlConnection conn = new SqlConnection(BienTc.connString);
                    if (conn.State == ConnectionState.Closed)
                    {
                        conn.Open();
                    }
                    DateTime Ngay = (DateTime)clsCommon.Parse(txtngaymt.Text, 4);
                    String Madl = txtmadl.Text.Trim();
                    SqlDataAdapter da = new SqlDataAdapter("Select * from Bangkeloto where Madaily = @Madl and Convert(Datetime,Ngaymothuong,103) = Convert(Datetime,@Ngay,103)", conn);
                    da.SelectCommand.Parameters.AddWithValue("@Madl", Madl);
                    da.SelectCommand.Parameters.AddWithValue("@Ngay", Ngay);
                    da.Fill(dt);
                   
                }
                catch
                {
                }
                return dt;
            }
            private void Loadbangke()
            {
                try
                {
                    SqlConnection conn = new SqlConnection(BienTc.connString);
                    if (conn.State == ConnectionState.Closed)
                    {
                        conn.Open();
                    }
                    DateTime Ngay = (DateTime)clsCommon.Parse(txtngaymt.Text, 4);
                    String Madl = txtmadl.Text.Trim();
                    SqlDataAdapter da = new SqlDataAdapter("Select * from Bangkeloto where Madaily = @Madl and Convert(Datetime,Ngaymothuong,103) = Convert(Datetime,@Ngay,103)", conn);
                    da.SelectCommand.Parameters.AddWithValue("@Madl", Madl);
                    da.SelectCommand.Parameters.AddWithValue("@Ngay", Ngay);
                    DataTable dt = new DataTable();
                    da.Fill(dt);if (dt != null && dt.Rows.Count > 0)
                    {
                        gcBangke.DataSource = dt;
                      //  bansaoLoTo = dt;
                    }
                    else
                    {
                        // set lai stt neu luoi rong
                        f1 = 1;
                        gcBangke.DataSource = null;
                    }
                    Dictionary<string,int> result =  clsLoTo.tinhsoLuongve(dt);
                    lblslve5000.Text = result["Ve5"].ToString();
                    lblslve10000.Text = result["Ve10"].ToString();
                    lblslvec10000.Text = result["Vec10"].ToString();
                    lblslvec20000.Text = result["Vec20"].ToString();//
                    lblTongDT.Text = result["TongDT"].ToString();
                    Sl5 = result["Ve5"];
                    Sl10 = result["Ve10"];
                    Slc10 = result["Vec10"];
                    Slc20 = result["Vec20"];
                }
                catch
                {
                }
            }
            string tenmay = "";
            private int Kiemtramadl(DateTime Ngaythang,ref string tenmaydanhap )
            {
                
                string tenmayhienhanh = Environment.MachineName;
                bool isRoot = isMayChu(tenmayhienhanh);
                SqlConnection conn = new SqlConnection(BienTc.connString);
                if (conn.State == ConnectionState.Closed)
                {
                    conn.Open();
                }
                SqlDataAdapter da = new SqlDataAdapter("Select * from Maynhaploto Where Madaily = @Madl and CONVERT(DATE,Ngaymothuong)='" + txtngaymt.DateTime.ToString("yyyy-MM-dd")+"'" , conn);
                da.SelectCommand.Parameters.AddWithValue("@Madl", txtmadl.Text.Trim());
                da.SelectCommand.Parameters.AddWithValue("@Ngay", Ngaythang);
                DataTable dt = new DataTable();
                da.Fill(dt);
                if (dt.Rows.Count > 0)
                {
                    tenmay = dt.Rows[0]["Tenmay"].ToString();
                    
                    if (tenmayhienhanh.Equals(tenmay) || string.IsNullOrEmpty(tenmay))
                        return 2;
                    else
                        if(isRoot)
                        {
                            tenmaydanhap = tenmay;
                            return 1;
                        }
                        return 0;
                }
                    return 2;
            }
            private bool isMayChu(string _TenMay)
            {
                SqlConnection conn = new SqlConnection(BienTc.connString);
                if (conn.State == ConnectionState.Closed)
                {
                    conn.Open();
                }
                try
                {
                    SqlDataAdapter da = new SqlDataAdapter("Select * from May_Chu Where isPublic=1 and isMayChu = 1 and  Ten_May = '"+_TenMay+"'", conn);
                    DataTable dt = new DataTable();
                    da.Fill(dt);
                    if (dt.Rows.Count > 0)
                        return true;
                }
                catch
                {
                    return false;
                }
                return false;
            }
            int Sl5 = 0, Sl10 = 0, Slc10 = 0, Slc20 = 0;
            decimal Tongsl = 0;
            private bool isPressF1 = false;
            // kiem tra soluongvethucte > 0 thi khoa o ma dai ly
            private void checkSLveThucTe()
            {
                decimal tslve = Sl5 + Sl10 + Slc10 + Slc20;
                if (tslve > 0)
                {
                    decimal tslvethucte = 0;
                    int slve5 = 0, slve10 = 0, slvec10 = 0, slvec20 = 0;
                    bool isValidslv5 = int.TryParse(txtslv5.Text, out slve5);
                    bool isValidslv10 = int.TryParse(txtslv10.Text, out slve10);
                    bool isValidslvc10 = int.TryParse(txtslvc10.Text, out slvec10);
                    bool isValidslvc20 = int.TryParse(txtslvc20.Text, out slvec20);
                    tslvethucte = slve5 + slve10 + slvec10 + slvec20;
                    if (tslvethucte == tslve && isValidslv5
                        && isValidslv10 && isValidslvc10 && isValidslvc20)
                    {
                        txtmadl.Enabled = true;
                        txtmadl.Focus();
                        return;}
                    else
                    {
                        if ((slve5 == Sl5 && isValidslv5) || (slve5 == Sl5 && Sl5 == 0))
                        {
                            if ((slve10 == Sl10 && isValidslv10) || (slve10 == Sl10 && Sl10 == 0))
                            {
                                if ((slvec10 == Slc10 && isValidslvc10)
                                        || (slvec10 == Slc10 && Slc10 == 0))
                                {
                                   if ((slvec20 == Slc20 && isValidslvc20 )
                                        || (slvec20 == Slc20 && Slc20 == 0))
                                    {
                                        txtmadl.Focus();
                                        txtmadl.Enabled = true;return;
                                    }
                                    txtslvc20.Focus();
                                    return;
                                }
                                txtslvc10.Focus();
                                return;
                            }
                            txtslv10.Focus();
                        }
                        else
                        {
                            if(isPressF1)
                                txtslv5.Focus();
                        }
                    }

                        
                    txtmadl.Enabled = false;
                }
            }
            private void Congslve(string senderName = null,bool isFillSlveThucTe = false)
            {
                Tongsl = 0;
                Sl5 = 0;
                Sl10 = 0;
                Slc10 = 0;
                Slc20 = 0;

                if (gcBangke.DataSource == null)
                    return;
                foreach (DataRow row in ((DataTable)gcBangke.DataSource).Rows)
                {
                    if (row["Ve5"] != null && row["Ve5"].ToString().Trim() != "")
                    {
                        Sl5++;
                    }
                    if (row["Ve10"] != null && row["Ve10"].ToString().Trim() != "")
                    {
                        Sl10++;
                    }
                    if (row["Vec10"] != null && row["Vec10"].ToString().Trim() != "")
                    {
                        Slc10++;
                    }
                    if (row["Vec20"] != null && row["Vec20"].ToString().Trim() != "")
                    {
                        Slc20++;
                    }
                    if (row["Stt"] != null && row["Stt"].ToString().Trim() != "")
                    {
                        f1 = int.Parse(row["Stt"].ToString().Trim()) + 1;
                    }
                }
                lblslve5000.Text = Sl5.ToString(CultureInfo.InvariantCulture);
                lblslve10000.Text = Sl10.ToString(CultureInfo.InvariantCulture);
                lblslvec10000.Text = Slc10.ToString(CultureInfo.InvariantCulture);
                lblslvec20000.Text = Slc20.ToString(CultureInfo.InvariantCulture);
                if(isFillSlveThucTe)
                {
                    txtslv5.Text = Sl5.ToString(CultureInfo.InvariantCulture);
                    txtslv10.Text = Sl10.ToString(CultureInfo.InvariantCulture);
                    txtslvc10.Text = Slc10.ToString(CultureInfo.InvariantCulture);
                    txtslvc20.Text = Slc20.ToString(CultureInfo.InvariantCulture);}
                
                Tongsl = (Sl5 * 5) + (Sl10 * 10) + (Slc10 * 10) + (Slc20 * 20);
                lblTongDT.Text = Tongsl.ToString();

                if (senderName != null)
                {
                   
                    if (senderName == txtslve5000.Name) gvBangke.FocusedRowHandle = Sl5 - 1; //Nếu đang nhập vé 5.000 thì focus theo vé 5.000
                    else if (senderName == txtslve10000.Name) gvBangke.FocusedRowHandle = Sl10 - 1;//Nếu đang nhập vé....
                    else if (senderName == txtslvec10000.Name) gvBangke.FocusedRowHandle = Slc10 - 1;//...
                    else if (senderName == txtslvec20000.Name) gvBangke.FocusedRowHandle = Slc20 - 1;//...
                }
                
            }          
        
            private void simpleButton2_Click(object sender, EventArgs e)
            {
                popupMenu1.ShowPopup(Control.MousePosition);
            }           

            void Ktsonhap(object sender, KeyEventArgs e)
            {
                if (txtslvec10000.MaskFull)
                {
                    try
                    {
                        string.Format(txtslvec10000.Text, "00-00-##-#####");
                    }
                    catch
                    {
                        MessageBox.Show("Số không hợp lệ");
                        txtslvec10000.ResetText();
                    }
                }
            }
            void Ktsonhapc20(object sender, KeyEventArgs e)
            {
                if (txtslvec20000.MaskFull)
                {
                    try
                    {
                        string.Format(txtslvec20000.Text, "00-00-##-#####");
                    }
                    catch
                    {
                        MessageBox.Show("Số không hợp lệ");
                        txtslvec20000.ResetText();
                    }
                }
            }

            private bool isLoad = false;
            private int focusRow = 0;private CheckNhapSLVeThucTe checknhap =  new CheckNhapSLVeThucTe();
            private void btnThoat_Click_1(object sender, EventArgs e)
            {
                // chekc slve thuc te
                checkSLveThucTe();
                int isValid = checknhap.CheckKoChoThoatNeuDaNhapVe(txtslv5.Text, txtslv10.Text, txtslvc10.Text, txtslvc20.Text
                   ,lblslve5000.Text,lblslve10000.Text,lblslvec10000.Text,lblslvec20000.Text
                    );
                // neu da nhap so luong ve thuc te thi cho thoat
                if(isValid == 0)
                {
                    MessageBox.Show(String.Format("Máy {0}  đã nhâp {1} bảng kê!", Environment.MachineName, clsLoTo.slbangkebyTenmay(Environment.MachineName,(DateTime)clsCommon.Parse(txtngaymt.Text, 4))),"Thông báo",MessageBoxButtons.OK,MessageBoxIcon.Information);
                    this.Close();
                }
                else
                {
                    switch (isValid)
                    {
                        case 1://"Ve5":
                            txtslv5.Focus();
                            txtslv5.SelectAll();
                            break;
                        case 2://"Ve10":
                            txtslv10.Focus();
                            txtslv10.SelectAll();
                            break;
                        case 3://"Vec10":
                            txtslvc10.Focus();
                            txtslvc10.SelectAll();
                            break;
                        case 4://"Vec20":
                            txtslvc20.Focus();
                            txtslvc20.SelectAll();
                            break;
                    }
                }
                    
            }
        // Disable close button in control box
            private const int CP_NOCLOSE_BUTTON = 0x200;
            protected override CreateParams CreateParams
            {
                get
                {
                    CreateParams myCp = base.CreateParams;
                    myCp.ClassStyle = myCp.ClassStyle | CP_NOCLOSE_BUTTON;
                    return myCp;
                }
            } 
            private void frmNhapbangke_Load_1(object sender, EventArgs e)
            {
                txtngaymt.DateTime = DateTime.Today;
                txtslv5.Text = "";
                txtslv10.Text = "";
                txtslvc10.Text = "";
                txtslvc20.Text = "";
                txtmadl.Text = "";
                lbltendl.Text = "";
                lbltendv.Text = "";
                txtmadl.Focus();
                txtslvec10000.Mask = "00-00-##-#####";
                txtslvec20000.Mask = "00-00-##-#####";
                txtslvec10000.KeyUp += new KeyEventHandler(Ktsonhap);
                txtslvec20000.KeyUp += new KeyEventHandler(Ktsonhapc20);
            }

            private void txtmadl_Leave_1(object sender, EventArgs e)
            {
                SqlConnection conn = new SqlConnection(BienTc.connString);
                if (conn.State == ConnectionState.Closed)
                {
                    conn.Open();
                }
                f1 = 1;
                SqlDataAdapter da = new SqlDataAdapter("Select * from Bangslloto Where Madaily = @Madl and Convert(Datetime,Ngaymothuong,103) = Convert(Datetime,@Ngay,103)", conn);
                da.SelectCommand.Parameters.AddWithValue("@Madl", txtmadl.Text);
                da.SelectCommand.Parameters.AddWithValue("@Ngay", txtngaymt.DateTime);
                DataTable dt = new DataTable();
                da.Fill(dt);
                if (dt.Rows.Count > 0)
                {
                    txtslv5.Text = dt.Rows[0]["Slve5"].ToString();
                    txtslv10.Text = dt.Rows[0]["Slve10"].ToString();
                    txtslvc10.Text = dt.Rows[0]["Slvec10"].ToString();
                    txtslvc20.Text = dt.Rows[0]["Slvec20"].ToString();
                }
                else
                {
                    txtslv5.Text = "";
                    txtslv10.Text = "";
                    txtslvc10.Text = "";
                    txtslvc20.Text = "";
                    SqlCommand cmd = new SqlCommand("Insert into Bangslloto(Ngaymothuong,Madaily) values(@Ngay,@Madl)", conn);
                    cmd.Parameters.AddWithValue("@Ngay", txtngaymt.DateTime);
                    cmd.Parameters.AddWithValue("@Madl", txtmadl.Text.Trim());
                    cmd.ExecuteNonQuery();
                }
            }

            private void txtmadl_KeyDown(object sender, KeyEventArgs e)
            {
                try
                {
                    if (e.KeyData == Keys.Enter)
                    {
                        if (txtmadl.Text.Trim().Length != 4)
                        {
                            //tell the user
                            MessageBox.Show("Bạn phải nhâp mã đại lý 4 ký tư");
                            txtmadl.Text = null;
                            return;}
                        if (txtmadl.Text.Trim().Length > 0)
                        {
                            lblslve5000.Text = "";
                            lblslve10000.Text = "";
                            lblslvec10000.Text = "";
                            lblslvec20000.Text = "";
                            SqlConnection conn = new SqlConnection(BienTc.connString);
                            if (conn.State == ConnectionState.Closed)
                            {
                                conn.Open();
                            }
                            try
                            {
                                SqlDataAdapter da = null;
                                string tenmaydanhap = null;
                                int result = Kiemtramadl(txtngaymt.DateTime,ref tenmaydanhap);
                                if (result == 2)
                                {
                                    clsLoTo.capnhatBangKeLoTo(txtmadl.Text, _TenMay, DateTime.Now);
                                    ActiveNhapSoDuThuongLoTo();
                                }
                                else
                                {
                                    if (result == 0)
                                    {
                                        clsCommon.MsgBox("Mã đại lý " + txtmadl.Text + " đã được nhập trên máy " + tenmay, 1);
                                        DeActiveNhapSoDuThuongLoTo();
                                        //txtmadl.SelectAll();
                                        txtmadl.Text = null;
                                        return;
                                    }
                                    if(result == 1)
                                    {
                                        if (MessageBox.Show(
                                            string.Format(
                                                "Mã đại lý {0} đã được nhập trên máy {1} Bạn có muốn nhập lại không?",
                                                txtmadl.Text, tenmaydanhap), "Thông báo", MessageBoxButtons.YesNo,
                                            MessageBoxIcon.Warning) == DialogResult.No)
                                        {
                                            DeActiveNhapSoDuThuongLoTo();
                                            txtslv5.Text = null;
                                            txtslv10.Text = null;
                                            txtslvc10.Text = null;
                                            txtslvc20.Text = null;
                                            gcBangke.DataSource = null;txtmadl.SelectAll();
                                            return;
                                        }
                                        else
                                        {
                                            // chuyen daily 
                                            int isChuyenDaily = clsLoTo.chuyenDaily(txtmadl.Text, _TenMay,
                                                                                    txtngaymt.DateTime);
                                            if(isChuyenDaily> 0)
                                            {
                                                MessageBox.Show(
                                                    string.Format(
                                                        "Đã chuyển Mã đại lý {0} từ máy {1} đến máy {2} thành công.",
                                                        txtmadl.Text, tenmaydanhap,_TenMay), "Thông báo",
                                                    MessageBoxButtons.OK,
                                                    MessageBoxIcon.Information);
                                                Loadbangke();
                                            }
                                            else
                                            {
                                                MessageBox.Show(
                                                    string.Format(
                                                       "Chuyển Mã đại lý {0} từ máy {1} đến máy {2} thất bại.",
                                                        txtmadl.Text, tenmaydanhap,_TenMay), "Thông báo",
                                                    MessageBoxButtons.OK,
                                                    MessageBoxIcon.Information);
                                                DeActiveNhapSoDuThuongLoTo();
                                                txtslv5.Text = null;
                                                txtslv10.Text = null;
                                                txtslvc10.Text = null;
                                                txtslvc20.Text = null;
                                                gcBangke.DataSource = null; 
                                                txtmadl.SelectAll();
                                                return;
                                            }
                                        }
                                    }
                                    // chua nhap dai ly
                                    if (result == -1)
                                    {}
                                }
                                Loadbangke();
                                //da = new SqlDataAdapter("Select HopDong.Ten_DaiLy as Tendaily,Dmdonvi.Ten_dt as Tendv from Hopdong inner join Dmdonvi ON Dmdonvi.Ma_DT = Left(Hopdong.Ma_dt,1) Where Hopdong.isPublic=1 and Ma_DaiLy=@Madl", conn);
                                //da.SelectCommand.Parameters.AddWithValue("@Madl", txtmadl.Text.Trim());
                                da = new SqlDataAdapter("proc_checkMadl", conn);
                                da.SelectCommand.CommandType = CommandType.StoredProcedure;
                                da.SelectCommand.Parameters.AddWithValue("@Madl", txtmadl.Text.Trim());
                                DataTable dt = new DataTable();
                                da.Fill(dt);
                                if (dt != null && dt.Rows.Count > 0)
                                {
                                    lbltendl.Text = dt.Rows[0]["Tendaily"].ToString();
                                    lbltendv.Text = dt.Rows[0]["Tendv"].ToString();
                                    txtslve5000.Focus();
                                    // Tat nhap khi nhap chinh xac ma dai ly
                                    txtslve5000.Enabled = true;
                                    txtslve10000.Enabled = false;
                                    txtslvec10000.Enabled = false;
                                    txtslvec20000.Enabled = false;
                                }
                                else
                                {
                                    clsCommon.MsgBox("Trong máy chủ không có mã đại lý " + txtmadl.Text + " này.", 1);
                                    lbltendl.Text = "";
                                    lbltendv.Text = "";
                                    txtslve5000.Enabled = false;
                                    txtslve10000.Enabled = false;
                                    txtslvec10000.Enabled = false;
                                    txtslvec20000.Enabled = false;
                                    txtslv5.Text = null;
                                    txtslv10.Text = null;
                                    txtslvc10.Text = null;
                                    txtslvc20.Text = null;
                                    gcBangke.DataSource = null;
                                    txtmadl.Enabled = true;
                                    txtmadl.Text = String.Empty;
                                    txtmadl.Focus();
                                }
                                if (f1 == 1)
                                {
                                    Congslve();
                                    txtslve5000.Focus();}
                            }
                            catch
                            {
                                throw;
                            }

                        }
                        else clsCommon.MsgBox("Bạn chưa nhập mã đại lý.!.", 0);          
                    }
                }
                catch
                {

                }
            }
            private void gvBangKeCheckValidate(string ve,string loaive)
            {
                string[] temp = ve.Split('-');
                if (temp[0].Length <= 2 && temp[1].Length == 0
                    && temp[2].Length == 0 && temp[3].Length == 0)
                {
                    clsCommon.MsgBox("Bạn nhập số dự thưởng sai quy định", 0);
                    gvBangke.GetFocusedDataRow()[loaive] = null;
                    return;
                }
                if (temp[0].Length == 2 && temp[1].Length < 2)
                {
                    clsCommon.MsgBox("Bạn nhập số dự thưởng sai quy định", 0);
                    gvBangke.GetFocusedDataRow()[loaive] = null;
                    return;
                }
                if (temp[0].Length == 2 && temp[1].Length == 2
                    && !String.IsNullOrEmpty(temp[2])
                    && String.IsNullOrEmpty(temp[3])
                    )
                {
                    if (temp[2].Length < 2)
                    {
                        clsCommon.MsgBox("Bạn nhập số dự thưởng sai quy định", 0);
                        gvBangke.GetFocusedDataRow()[loaive] = null;
                        return;
                    }
                }
                if (temp[0].Length == 2 && temp[1].Length == 2 && !String.IsNullOrEmpty(temp[2])

                    && !String.IsNullOrEmpty(temp[3]))
                {
                    if (temp[2].Length == 2 && temp[3].Length < 2)
                    {
                        clsCommon.MsgBox("Bạn nhập số dự thưởng sai quy định", 0);
                        gvBangke.GetFocusedDataRow()[loaive] = null;
                        return;
                    }
                }
            }
            private void gvBangke_CellValueChanged_1(object sender, CellValueChangedEventArgs e)
            {
                // (DataTable)gcBangke.DataSource;
                int slvehientai = 0;
                DateTime Ngay = (DateTime)clsCommon.Parse(txtngaymt.Text, 4);
                string ve = null;
                String Madl = txtmadl.Text.Trim();
                bool isValid = true;
                int totalRow = 0;
                if (e.Column.FieldName == "Ve5")
                {
                    totalRow = Sl5;
                    gvBangke.OptionsBehavior.Editable = true;
                    bandedGridColumn1.OptionsColumn.AllowFocus = true;
                    bandedGridColumn2.OptionsColumn.AllowFocus = false;
                    bandedGridColumn3.OptionsColumn.AllowFocus = false;
                    bandedGridColumn4.OptionsColumn.AllowFocus = false;
                    ve = gvBangke.GetFocusedDataRow()["Ve5"].ToString();
                   
                }
                if (e.Column.FieldName == "Ve10")
                {
                    gvBangke.OptionsBehavior.Editable = true;
                    bandedGridColumn1.OptionsColumn.AllowFocus = false;
                    bandedGridColumn2.OptionsColumn.AllowFocus = true;
                    bandedGridColumn3.OptionsColumn.AllowFocus = false;
                    bandedGridColumn4.OptionsColumn.AllowFocus = false;
                    ve = gvBangke.GetFocusedDataRow()["Ve10"].ToString();
                    totalRow = Sl10;
                }
                if (e.Column.FieldName == "Vec10")
                {
                    gvBangke.OptionsBehavior.Editable = true;
                    bandedGridColumn1.OptionsColumn.AllowFocus = false;
                    bandedGridColumn2.OptionsColumn.AllowFocus = false;
                    bandedGridColumn3.OptionsColumn.AllowFocus = true;
                    bandedGridColumn4.OptionsColumn.AllowFocus = false;
                    totalRow = Slc10;
                    string v = "", t = "", t1 = "", t2 = "";
                    int l = 0;
                    t = txtmadl.Text.Trim();
                    t1 = t.Substring(0, 1);
                    t2 = t.Substring(0, 2);
                    v = gvBangke.GetFocusedDataRow()["Vec10"].ToString();
                    //ve = v;
                    foreach (char c in v)
                    {
                        if (c == '-')
                        {
                            l = l + 1;
                        }
                    }
                    if (l >= 4)
                    {
                        clsCommon.MsgBox("Bạn nhập số dự thưởng sai quy định", 0);
                        gvBangke.GetFocusedDataRow()[e.Column.FieldName] = null;
                        gvBangke.FocusedRowHandle = gvBangke.FocusedRowHandle - 1;
                        return;
                    }
                    if (!String.IsNullOrEmpty(v))
                    {
                        gvBangKeCheckValidate(v, "Vec10");
                    }
                    // check ko cho nhap qua 100 ve
                    slvehientai = CheckValidate.GetSlVeHienTai(v, Ngay, Madl, "Vec10", null)+ 1;
                    if (slvehientai > 100)
                    {
                        clsCommon.MsgBox("Bạn ko được phép nhập quá 100 vé cặp 10", 0);
                        gvBangke.GetFocusedDataRow()[e.Column.FieldName] = null;
                        gvBangke.FocusedRowHandle = gvBangke.FocusedRowHandle - 1;
                        return;
                    }
                }
                if (e.Column.FieldName == "Vec20")
                {
                    gvBangke.OptionsBehavior.Editable = true;
                    bandedGridColumn1.OptionsColumn.AllowFocus = false;
                    bandedGridColumn2.OptionsColumn.AllowFocus = false;
                    bandedGridColumn3.OptionsColumn.AllowFocus = false;
                    bandedGridColumn4.OptionsColumn.AllowFocus = true;
                    totalRow = Slc20;
                    string v = "", t = "", t1 = "", t2 = "";
                    int l = 0;
                    t = txtmadl.Text.Trim();
                    t1 = t.Substring(0, 1);
                    t2 = t.Substring(0, 2);
                    v = gvBangke.GetFocusedDataRow()["Vec20"].ToString();
                    //ve = v;
                    foreach (char c in v)
                    {
                        if (c == '-')
                        {
                            l = l + 1;
                        }
                    }
                    if (l >= 4)
                    {
                        clsCommon.MsgBox("Bạn nhập số dự thưởng sai quy định", 0);
                        gvBangke.GetFocusedDataRow()[e.Column.FieldName] = null;
                        gvBangke.FocusedRowHandle = gvBangke.FocusedRowHandle - 1;
                        return;
                    }
                    if (!String.IsNullOrEmpty(v))
                    {
                        gvBangKeCheckValidate(v, "Vec20");
                    }
                    // check ko cho nhap qua 100 ve
                    slvehientai = CheckValidate.GetSlVeHienTai(v, Ngay, Madl, "Vec20", null) + 1;
                    if (slvehientai > 100)
                    {
                        clsCommon.MsgBox("Bạn ko được phép nhập quá 100 vé cặp 20", 0);
                        gvBangke.GetFocusedDataRow()[e.Column.FieldName] = null;
                        gvBangke.FocusedRowHandle = gvBangke.FocusedRowHandle - 1;
                        return;
                    }
                 //   clsCommon.updateRowValue("Bangkeloto", e.Column.FieldName, "Where ID=" + gvBangke.GetFocusedDataRow()["ID"].ToString(), e.Value);
                }
                // ko cho phep nhap ky tu, ".",","
                if (!String.IsNullOrEmpty(ve))
                {
                    foreach (char item in ve)
                    {
                        if (!char.IsControl(item) && !char.IsDigit(item))// && item == '.' && item == ','
                            isValid = false;
                    }
                    if (!isValid)
                    {
                        clsCommon.MsgBox("Bạn nhập số dự thưởng sai quy định", 0);
                        gvBangke.GetFocusedDataRow()[e.Column.FieldName] = null;
                        gvBangke.FocusedRowHandle = gvBangke.FocusedRowHandle - 1;
                        return;
                    }
                }
                #region "check nhap so luong ve"
                // kiem tra gioi han so luong ve dang nhap

                int  index = -1;
                bool isCheck5kytu = false;
               
                switch (e.Column.FieldName)
                {
                    case "Ve5":
                        index = 1;
                        isCheck5kytu = true;
                        break;
                    case "Ve10":
                        index = 0;
                        isCheck5kytu = true;
                        break;
                    case "Vec10":
                        break;
                    case "Vec20":
                        break;
                }
                // van giu nguyen validate phia tren, xac dinh lai ve da nhap

                ve = gvBangke.GetFocusedDataRow()[e.Column.FieldName].ToString();
                // Neu index giu gia tri mac dinh, ko validate tong so luong ve
                if (index != -1 && !String.IsNullOrEmpty( ve ))
                {
                    int CompareResult =
                        CheckValidate.CheckValidateTongSoLuongVe(ve, Madl, Ngay, 1, e.Column.FieldName, ref slvehientai);
                    if (CompareResult == (int)CheckValidate.CompareTongTien.Biger)
                    {
                        // tinh tong tien thua de xuat thong bao
                        int tsotienthua = 0;
                        List<int> ThuaTien = CheckValidate.tinhThuaTien(ve, 1, e.Column.FieldName, slvehientai, ref tsotienthua);
                        clsCommon.MsgBox(
                            String.Format("Bạn nhập số dự thưởng {0} sai quy định,thừa {1} cần bỏ bớt {2} {0}"
                            , e.Column.FieldName, tsotienthua, ThuaTien[index]), 0);
                        //Nếu đang nhập bi loi focus ve vi tri cũ
                        gvBangke.GetFocusedDataRow()[e.Column.FieldName] = null;
                        gvBangke.FocusedRowHandle = gvBangke.FocusedRowHandle - 1;
                  //      gvBangke.SetRowCellValue(gvBangke.FocusedRowHandle - 1, e.Column.FieldName, null);
                        return;
                    }
                    else
                    {
                        // môt so loai ve cho nhap 5 ky tu tro len ko can bat validate
                        if (isCheck5kytu)
                        {
                            // 5 ký tự trở lên ko cho phép nhập
                            if (CompareResult == (int)CheckValidate.CompareTongTien.Zero)
                            {
                                clsCommon.MsgBox("Bạn nhập số dự thưởng sai quy định", 0);
                                //Nếu đang nhập bi loi focus ve vi tri cũ
                                gvBangke.GetFocusedDataRow()[e.Column.FieldName] = null;
                                gvBangke.FocusedRowHandle = gvBangke.FocusedRowHandle - 1;
                      //          gvBangke.SetRowCellValue(gvBangke.FocusedRowHandle - 1, e.Column.FieldName, null);
               
                                return;
                            }
                        }
                    }
                }
                #endregion
                // sau khi validate het moi update xuong csdl
                if (!String.IsNullOrEmpty(ve))
                {
                    clsCommon.updateRowValue("Bangkeloto", e.Column.FieldName, "Where ID=" + gvBangke.GetFocusedDataRow()["ID"].ToString(), e.Value);
                }
                else
                {
                   
                    // xóa dữ liệu cũ khi nhập rỗng
                    int rowIndex = gvBangke.FocusedRowHandle;
                    bansaoLoTo = LoadLoToOld();
                    string Oldvalue = bansaoLoTo.Rows[rowIndex][e.Column.FieldName].ToString();
                    // Neu gia tri cu rong, ko thuc hien thao tac
                    if (!String.IsNullOrEmpty(Oldvalue))
                    {
                        clsCommon.updateRowValue("Bangkeloto", e.Column.FieldName, "Where ID=" + gvBangke.GetFocusedDataRow()["ID"].ToString(), ve);
                    }
                }

                Congslve();
            }
            private void Loadbangke(string srow = "0", bool isNew = false)
            {
                try
                {
                    SqlConnection conn = new SqlConnection(BienTc.connString);
                    if (conn.State == ConnectionState.Closed)
                    {
                        conn.Open();
                    }
                    DateTime Ngay = (DateTime)clsCommon.Parse(txtngaymt.Text, 4);
                    String Madl = txtmadl.Text.Trim();
                    SqlDataAdapter da = new SqlDataAdapter("Select * from Bangkeloto where Madaily = @Madl and Convert(Datetime,Ngaymothuong,103) = Convert(Datetime,@Ngay,103)", conn);
                    da.SelectCommand.Parameters.AddWithValue("@Madl", Madl);
                    da.SelectCommand.Parameters.AddWithValue("@Ngay", Ngay);
                    DataTable dt = new DataTable();
                    da.Fill(dt);
                    if (dt != null && dt.Rows.Count > 0)
                    {
                        gcBangke.DataSource = dt;
                      //  bansaoLoTo = dt;
                        if (isNew && gvBangke.RowCount > 0)
                        {
                            gvBangke.FocusedRowHandle = gvBangke.RowCount - 1;
                        }
                        else
                        {
                            int row = 0;
                            if (int.TryParse(srow, out row))
                                if (row > 0)
                                    gvBangke.FocusedRowHandle = row - 1;
                        }
                    }
                    else
                    {
                        gcBangke.DataSource = null;
                    }
                }
                catch
                {
                }
            }
            private void LoadCSDL(String data, String Madl, DateTime Ngay)// lưu vào CSDL
            {
                if (Madl == "")
                {
                    clsCommon.MsgBox("Bạn chưa nhập mã đại lý.", 0);
                    return;
                }
                if (_TenMay == "")
                {
                    clsCommon.MsgBox("Máy tính đã bị treo, bạn hãy thoát ra rồi vào lại", 0);
                    return;
                }

                SqlConnection conn = new SqlConnection(BienTc.connString);
                if (conn.State == ConnectionState.Closed)
                {
                    conn.Open();
                }
                SqlDataAdapter da = null;
                DataTable dt = null;
                string v = "", t = "", t1 = "", t2 = "", k = "";
                int a = 0, b = 0, c1 = 0, l = 0;
                int i = 0;
                t = Madl;
                t1 = t.Substring(0, 1);
                t2 = t.Substring(0, 2);
                v = data.Trim();
                da = new SqlDataAdapter("Select Vec10 from Bangkeloto Where Madaily=@Madl and Convert(Datetime,Ngaymothuong,103) = Convert(Datetime,@Ngay,103) and (Vec10 is null or len(Vec10)=0) Order by ID DESC", conn);
                da.SelectCommand.Parameters.AddWithValue("@Madl", txtmadl.Text);
                da.SelectCommand.Parameters.AddWithValue("@Ngay", txtngaymt.DateTime);
                dt = new DataTable();
                da.Fill(dt);
                string ss = "";
                string s = "";
                string ss1 = "";
                string s1 = "";
                string ss2 = "";
                string s2 = "";
                foreach (char c in v)
                {
                    if (c == '-')
                    {
                        l = l + 1;
                    }
                }
                if (l >= 4)
                {
                    clsCommon.MsgBox("Bạn nhập số dự thưởng sai quy định", 0);
                    return;
                }
                if (v.Contains("+"))
                {
                    if (v.IndexOf("+").ToString() == v.LastIndexOf("+").ToString())
                    {
                        a = v.IndexOf("+");
                        b = v.Length;
                        c1 = b - a - 1;
                        foreach (char c in v.Substring(a + 1, c1))
                        {
                            if (c == '-')
                            {
                                s1 = "";
                            }
                            else
                            {
                                s1 = c.ToString();
                            }
                            ss1 += s1;
                        }
                        if (ss1.Trim() == "")
                        {
                            clsCommon.MsgBox("Bạn nhập số dự thưởng sai quy định", 0);
                            return;
                        }
                        foreach (char c in v.Substring(0, a))
                        {
                            if (c == '-')
                            {
                                s2 = "";
                            }
                            else
                            {
                                s2 = c.ToString();
                            }
                            ss2 += s2;
                        }
                        int d = ss2.Trim().Length;
                        if (d % 2 != 0)
                        {
                            clsCommon.MsgBox("Bạn nhập số dự thưởng sai quy định", 0);
                            return;
                        }
                        for (i = 1; i <= int.Parse(ss1.Trim()); i++)
                        {
                            k = v.Substring(0, a);
                            da = new SqlDataAdapter("Select Vec10 from Bangkeloto Where Madaily=@Madl and Convert(Datetime,Ngaymothuong,103) = Convert(Datetime,@Ngay,103) and (Vec10 is null or len(Vec10)=0) Order by ID DESC", conn);
                            da.SelectCommand.Parameters.AddWithValue("@Madl", Madl);
                            da.SelectCommand.Parameters.AddWithValue("@Ngay", Ngay);
                            dt = new DataTable();
                            da.Fill(dt);
                            if (dt != null && dt.Rows.Count > 0)
                            {
                                if (dt.Rows[0]["Vec10"] == null || dt.Rows[0]["Vec10"].ToString().Trim().Length == 0)
                                {
                                    da = new SqlDataAdapter("Select ID from Bangkeloto Where Madaily=@Madl and Convert(Datetime,Ngaymothuong,103) = Convert(Datetime,@Ngay,103) and (Vec10 is null or len(Vec10)=0) Order by ID", conn);
                                    da.SelectCommand.Parameters.AddWithValue("@Madl", Madl);
                                    da.SelectCommand.Parameters.AddWithValue("@Ngay", Ngay);
                                    dt = new DataTable();
                                    da.Fill(dt);
                                    if (dt != null && dt.Rows.Count > 0)
                                    {
                                        SqlCommand cmd = new SqlCommand("Update Bangkeloto set Vec10 = @so Where ID=@id", conn);
                                        cmd.Parameters.AddWithValue("@so", k);
                                        cmd.Parameters.AddWithValue("@id", dt.Rows[0][0]);
                                        cmd.ExecuteNonQuery();
                                    }
                                }
                            }
                            else
                            {
                                SqlCommand cmd = new SqlCommand("Insert into Bangkeloto(Stt,Vec10,Madonvi,Macanbo,Madaily,Ngaymothuong,Tenmay) values (@Stt,@Vec10,@Madonvi,@Macanbo,@Madaily, @Ngaymothuong,@Tenmay)", conn);
                                cmd.Parameters.AddWithValue("@Vec10", k);
                                cmd.Parameters.AddWithValue("@Stt", f1);
                                cmd.Parameters.AddWithValue("@Madonvi", t1);
                                cmd.Parameters.AddWithValue("@Macanbo", t2);
                                cmd.Parameters.AddWithValue("@Madaily", Madl);
                                cmd.Parameters.AddWithValue("@Ngaymothuong", Ngay);
                                cmd.Parameters.AddWithValue("@Tenmay", _TenMay);
                                cmd.ExecuteNonQuery();
                                f1 = f1 + 1;
                            }
                            if (i > 50)
                            {
                                Loadbangke(data);
                                data = "";

                                Congslve(txtslvec10000.Name);

                               // clsCommon.MsgBox("Một bảng kê không được nhập quá 100 số dự thưởng liên tục", 0);
                               // return;
                            }
                        }
                    }
                    else
                    {
                        return;
                    }
                }
                else
                {
                    foreach (char c in v)
                    {
                        if (c == '-')
                        {
                            s = "";
                        }
                        else
                        {
                            s = c.ToString();
                        }
                        ss += s;
                    }
                    int d = ss.ToString().Trim().Length;
                    if (d <= 3)
                    {
                        return;
                    }
                    if (d % 2 == 0)
                    {
                        if (dt != null && dt.Rows.Count > 0)
                        {
                            if (dt.Rows[0]["Vec10"] == null || dt.Rows[0]["Vec10"].ToString().Trim().Length == 0)
                            {
                                da = new SqlDataAdapter("Select ID from Bangkeloto Where Madaily=@Madl and Convert(Datetime,Ngaymothuong,103) = Convert(Datetime,@Ngay,103) and (Vec10 is null or len(Vec10)=0) Order by ID", conn);
                                da.SelectCommand.Parameters.AddWithValue("@Madl", Madl);
                                da.SelectCommand.Parameters.AddWithValue("@Ngay", Ngay);
                                dt = new DataTable();
                                da.Fill(dt);
                                if (dt != null && dt.Rows.Count > 0)
                                {
                                    SqlCommand cmd = new SqlCommand("Update Bangkeloto set Vec10=@so Where ID=@id", conn);
                                    cmd.Parameters.AddWithValue("@so", v);
                                    cmd.Parameters.AddWithValue("@id", dt.Rows[0][0]);
                                    cmd.ExecuteNonQuery();
                                }
                            }
                            else
                            {
                                SqlCommand cmd = new SqlCommand("Insert into Bangkeloto(Vec10,Stt,Madonvi,Macanbo,Madaily,Ngaymothuong,Tenmay) values(@Vec10,@Stt,@Madonvi,@Macanbo,@Madaily,@Ngaymothuong,@Tenmay)", conn);
                                cmd.Parameters.AddWithValue("@Vec10", v);
                                cmd.Parameters.AddWithValue("@Stt", f1);
                                cmd.Parameters.AddWithValue("@Madonvi", t1);
                                cmd.Parameters.AddWithValue("@Macanbo", t2);
                                cmd.Parameters.AddWithValue("@Madaily", Madl);
                                cmd.Parameters.AddWithValue("@Ngaymothuong", Ngay);
                                cmd.Parameters.AddWithValue("@Tenmay", _TenMay);
                                cmd.ExecuteNonQuery();
                            }
                        }
                        else
                        {
                            SqlCommand cmd = new SqlCommand("Insert into Bangkeloto(Vec10,Stt,Madonvi,Macanbo,Madaily,Ngaymothuong,Tenmay) values(@Vec10,@Stt,@Madonvi,@Macanbo,@Madaily,@Ngaymothuong,@Tenmay)", conn);
                            cmd.Parameters.AddWithValue("@Vec10", v);
                            cmd.Parameters.AddWithValue("@Stt", f1);
                            cmd.Parameters.AddWithValue("@Madonvi", t1);
                            cmd.Parameters.AddWithValue("@Macanbo", t2);
                            cmd.Parameters.AddWithValue("@Madaily", Madl);
                            cmd.Parameters.AddWithValue("@Ngaymothuong", Ngay);
                            cmd.Parameters.AddWithValue("@Tenmay", _TenMay);
                            cmd.ExecuteNonQuery();
                        }
                    }
                    else
                    {
                        return;
                    }

                }
                Loadbangke(data, true);
                txtslvec10000.ResetText();
                Congslve(txtslvec10000.Name);
            }
            private void txtslve5000_KeyDown_1(object sender, KeyEventArgs e)
            {
                try
                {
                    if (e.KeyData == Keys.Enter)
                    {
                        DateTime Ngay = (DateTime)clsCommon.Parse(txtngaymt.Text, 4);
                        String Madl = txtmadl.Text.Trim();
                        Dictionary<CheckNhapLienTiep.MaLoi, string> error;
                        if (Madl == "")
                        {
                            clsCommon.MsgBox("Bạn chưa nhập mã đại lý.", 0);
                            return;
                        }
                        if (_TenMay == "")
                        {
                            clsCommon.MsgBox("Máy tính đã bị treo, bạn hãy thoát ra rồi vào lại", 0);
                            return;
                        }
                        if (txtslve5000.Text.Trim().Length >= 2)
                        {

                            SqlConnection conn = new SqlConnection(BienTc.connString);
                            if (conn.State == ConnectionState.Closed)
                            {
                                conn.Open();
                            }
                            SqlDataAdapter da = null;
                            DataTable dt = null;
                            string v = "", t = "", t1 = "", t2 = "", t3 = "", k = "", k1 = "", k2 = "";
                            int a = 0, b = 0, c = 0, d = 0, a1 = 0, b1 = 0, c1 = 0, d1 = 0;
                            int i = 0;
                            t = Madl;
                            t1 = t.Substring(0, 1);
                            t2 = t.Substring(0, 2);
                            v = txtslve5000.Text.Trim();
                            d = v.Length;
                            d1 = v.Length;
                            if (v.Contains("-"))
                            {
                                if (v.IndexOf("-") == 0)
                                {
                                    clsCommon.MsgBox("Bạn nhập số dự thưởng nhẩy liên tiếp sai quy định", 0);
                                    return;
                                }
                                if (v.IndexOf("-").ToString() == v.LastIndexOf("-").ToString())
                                {
                                    a1 = v.IndexOf("-");
                                    b1 = v.Length;
                                    if (a1 + 1 == b1)
                                    {
                                        clsCommon.MsgBox("Bạn nhập số dự thưởng nhẩy liên tiếp sai quy định", 0);
                                        return;
                                    }
                                    k = v.Substring(0, 2);
                                    k1 = v.Substring(3, 2);
                                    k2 = k;
                                    
                                    
                                    if (a1 == 2 && b1 == 5)
                                    {
                                        // truong hop 1: 00 - 99, nhay 1
                                        if ((int.Parse(k.Substring(0, 1)) == int.Parse(k.Substring(1, 1))) && (int.Parse(k1.Substring(0, 1)) == int.Parse(k1.Substring(1, 1))))
                                        {
                                            error = CheckNhapLienTiep.Check(CheckNhapLienTiep.TruongHop.Nhay11, k, k1, Madl, Ngay, "Ve5",ref f1,"Ve5Ve10");
                                            if (error.FirstOrDefault().Key == CheckNhapLienTiep.MaLoi.LoiThuaTienNhayLienTiep)
                                            {
                                                clsCommon.MsgBox(error.FirstOrDefault().Value, 0);
                                               // return;
                                            }
                                          
                                        }
                                        else
                                        {
                                           // truong hop nhay 1: 10 -19
                                            if ((int.Parse(k.Substring(0, 1)) == int.Parse(k1.Substring(0, 1))) && (int.Parse(k.Substring(1, 1)) < int.Parse(k1.Substring(1, 1))))
                                            {
                                                error = CheckNhapLienTiep.Check(CheckNhapLienTiep.TruongHop.Nhay1, k, k1, Madl, Ngay, "Ve5",ref f1,"Ve5Ve10");
                                                if (error.FirstOrDefault().Key == CheckNhapLienTiep.MaLoi.LoiThuaTienNhayLienTiep)
                                                {
                                                    clsCommon.MsgBox(error.FirstOrDefault().Value, 0);
                                                   // return;
                                                }
                                               
                                            }
                                            else
                                            {
                                                // Truong hop 10 -90:  Nhay 10

                                                if ((int.Parse(k.Substring(0, 1)) < int.Parse(k1.Substring(0, 1))) && (int.Parse(k.Substring(1, 1)) == int.Parse(k1.Substring(1, 1))))
                                                {
                                                    error = CheckNhapLienTiep.Check(CheckNhapLienTiep.TruongHop.Nhay10, k, k1, Madl, Ngay, "Ve5", ref f1, "Ve5Ve10");
                                                    if (error.FirstOrDefault().Key == CheckNhapLienTiep.MaLoi.LoiThuaTienNhayLienTiep)
                                                    {
                                                        clsCommon.MsgBox(error.FirstOrDefault().Value, 0);
                                                       // return;
                                                    }
                                                    
                                                }
                                                else
                                                {
                                                    clsCommon.MsgBox("Bạn nhập số dự thưởng nhẩy liên tiếp sai quy định", 0);
                                                    return;
                                                }
                                            }
                                        }
                                    }
                                    else
                                    {
                                        clsCommon.MsgBox("Bạn nhập số dự thưởng nhẩy liên tiếp sai quy định", 0);
                                        return;
                                    }
                                }
                                else
                                {
                                    clsCommon.MsgBox("Bạn nhập số dự thưởng nhẩy liên tiếp sai quy định", 0);
                                    return;
                                }
                            }
                            if (v.Contains("+"))
                            {
                                if (v.IndexOf("+") == 0)
                                {
                                    clsCommon.MsgBox("Bạn nhập số dự thưởng nhẩy liên tiếp sai quy định", 0);
                                    return;
                                }
                                if (v.IndexOf("+").ToString() == v.LastIndexOf("+").ToString())
                                {
                                    a = v.IndexOf("+");
                                    b = v.Length;
                                    if (a + 1 == b)
                                    {
                                        clsCommon.MsgBox("Bạn nhập số dự thưởng sai quy định", 0);
                                        return;
                                    }
                                    // 5 ký tự trở lên ko cho phép nhập
                                    if (a >= 5 || a == b)
                                    {
                                        clsCommon.MsgBox("Bạn nhập số dự thưởng sai quy định", 0);
                                        txtslve5000.Text = "";
                                        txtslve5000.Focus();
                                        return;
                                    }
                                    c = b - a - 1;
                                    string _mave = v.Substring(0, a);
                                    if (_mave.Length < 2)
                                    {
                                        clsCommon.MsgBox("Bạn nhập số dự thưởng sai quy định(ít hơn 2 ký tư)", 0);
                                        txtslve5000.Text = "";
                                        txtslve5000.Focus();
                                        return;
                                    }
                                    int soluongvenhap = int.Parse(v.Substring(a + 1, c));
                                    int slvehientai = 0;
                                    // kiem tra gioi han so luong ve dang nhap
                                    int CompareResult = 
                                        CheckValidate.CheckValidateTongSoLuongVe(_mave, Madl, Ngay, soluongvenhap, "Ve5",ref slvehientai);
                                    if (CompareResult == (int)CheckValidate.CompareTongTien.Biger)
                                    {
                                        // tinh tong tien thua de xuat thong bao
                                        int tsotienthua = 0;
                                        List<int> ThuaTien = CheckValidate.tinhThuaTien(_mave, soluongvenhap, "Ve5", slvehientai, ref tsotienthua);
                                        // neu chi thua tien ve 10 thi thong bao thua ve 10
                                        //if (ThuaTien[0] == 0)
                                         clsCommon.MsgBox("Bạn nhập số dự thưởng Ve5 sai quy định,thừa " + tsotienthua + ", cần bỏ bớt " + ThuaTien[1] + " Ve5", 0);
                                        // neu chi thua tien ve 5 thi thong bao thua ve 5
                                        //if (ThuaTien[1] == 0)
                                        //    clsCommon.MsgBox("Bạn nhập số dự thưởng Ve5 sai quy định,thừa " + tsotienthua + ", cần bỏ bớt " + ThuaTien[0] + " Ve10", 0);
                                        // neu  thua tien ca 2 loai ve thi thong bao thua ca hai loai ve
                                        //if (ThuaTien[1] > 0 && ThuaTien[0] > 0)
                                        //    clsCommon.MsgBox("Bạn nhập số dự thưởng Ve5 sai quy định,thừa " + tsotienthua + ", cần bỏ bớt " + ThuaTien[0] + " Ve10, " + ThuaTien[1] + " Ve5", 0);

                                        return;
                                    }
                                    else {
                                        // 5 ký tự trở lên ko cho phép nhập
                                        if (CompareResult == (int)CheckValidate.CompareTongTien.Zero)
                                        {
                                            clsCommon.MsgBox("Bạn nhập số dự thưởng sai quy định",0);
                                            txtslve5000.Text = "";
                                            txtslve5000.Focus();
                                            return;
                                        }
                                    }
                                    for (i = 1; i <= int.Parse(v.Substring(a + 1, c)); i++)
                                    {
                                        k = v.Substring(0, a);
                                        da = new SqlDataAdapter("Select Ve5 from Bangkeloto Where Madaily=@Madl and Convert(Datetime,Ngaymothuong,103) = Convert(Datetime,@Ngay,103) and (Ve5 is null or len(Ve5)=0) Order by ID DESC", conn);
                                        da.SelectCommand.Parameters.AddWithValue("@Madl", Madl);
                                        da.SelectCommand.Parameters.AddWithValue("@Ngay", Ngay);
                                        dt = new DataTable();
                                        da.Fill(dt);
                                        if (dt != null && dt.Rows.Count > 0)
                                        {
                                            if (dt.Rows[0]["Ve5"] == null || dt.Rows[0]["Ve5"].ToString().Trim().Length == 0)
                                            {
                                                da = new SqlDataAdapter("Select ID from Bangkeloto Where Madaily=@Madl and Convert(Datetime,Ngaymothuong,103) = Convert(Datetime,@Ngay,103) and (Ve5 is null or len(Ve5)=0) Order by ID", conn);
                                                da.SelectCommand.Parameters.AddWithValue("@Madl", Madl);
                                                da.SelectCommand.Parameters.AddWithValue("@Ngay", Ngay);
                                                dt = new DataTable();
                                                da.Fill(dt);
                                                if (dt != null && dt.Rows.Count > 0)
                                                {
                                                    SqlCommand cmd = new SqlCommand("Update Bangkeloto set Ve5 = @so Where ID=@id", conn);
                                                    cmd.Parameters.AddWithValue("@so", k);
                                                    cmd.Parameters.AddWithValue("@id", dt.Rows[0][0]);
                                                    cmd.ExecuteNonQuery();
                                                }
                                            }
                                        }
                                        else
                                        {
                                            SqlCommand cmd = new SqlCommand("Insert into Bangkeloto(Stt,Ve5,Madonvi,Macanbo,Madaily,Ngaymothuong,Tenmay) values (@Stt,@Ve5,@Madonvi,@Macanbo,@Madaily, @Ngaymothuong,@Tenmay)", conn);
                                            cmd.Parameters.AddWithValue("@Ve5", k);
                                            cmd.Parameters.AddWithValue("@Stt", f1);
                                            cmd.Parameters.AddWithValue("@Madonvi", t1);
                                            cmd.Parameters.AddWithValue("@Macanbo", t2);
                                            cmd.Parameters.AddWithValue("@Madaily", Madl);
                                            cmd.Parameters.AddWithValue("@Ngaymothuong", Ngay);
                                            cmd.Parameters.AddWithValue("@Tenmay", _TenMay);
                                            cmd.ExecuteNonQuery();
                                            f1 = f1 + 1;
                                        }
                                        if (i > 100)
                                        {
                                            txtslve5000.Text = "";
                                            Loadbangke();
                                            Congslve();
                                            //clsCommon.MsgBox("Một bảng kê không được nhập quá 100 số dự thưởng liên tục", 0);
                                            //return;
                                        }
                                    }
                                }
                                else
                                {
                                    clsCommon.MsgBox("Bạn nhập số dự thưởng sai quy định", 0);
                                    return;
                                }
                            }
                            if (v.Contains("+") == false && v.Contains("-") == false)
                            {
                                // 5 ký tự trở lên ko cho phép nhập
                                if (txtslve5000.Text.Trim().Length >= 5)
                                {
                                    clsCommon.MsgBox("Bạn nhập số dự thưởng sai quy định", 0);
                                    txtslve5000.Text = "";
                                    txtslve5000.Focus();
                                    return;
                                }
                                string _mave = v;
                                int soluongvenhap = 1;
                                int slvehientai = 0;
                                // kiem tra so luong ve thua
                                //bool hasValid = CheckValidate.CheckValidateTongSoLuongVe(_mave, Madl, Ngay, soluongvenhap, "Ve5", ref slvehientai);
                                int CompareResult =
                                        CheckValidate.CheckValidateTongSoLuongVe(_mave, Madl, Ngay, soluongvenhap, "Ve5", ref slvehientai);
                                if (CompareResult == (int)CheckValidate.CompareTongTien.Biger)
                                {
                                    // tinh tong tien thua de xuat thong bao
                                    int tsotienthua = 0;
                                    List<int> ThuaTien = CheckValidate.tinhThuaTien(_mave, soluongvenhap, "Ve5", slvehientai, ref tsotienthua);
                                    // neu chi thua tien ve 10 thi thong bao thua ve 10
                                    //if (ThuaTien[0] == 0)
                                    clsCommon.MsgBox("Bạn nhập số dự thưởng Ve5 sai quy định,thừa " + tsotienthua + ", cần bỏ bớt " + ThuaTien[1] + " Ve5", 0);
                                    // neu chi thua tien ve 5 thi thong bao thua ve 5
                                    //if (ThuaTien[1] == 0)
                                        //clsCommon.MsgBox("Bạn nhập số dự thưởng Ve5 sai quy định,thừa " + tsotienthua + ", cần bỏ bớt " + ThuaTien[0] + " Ve10", 0);
                                    //// neu  thua tien ca 2 loai ve thi thong bao thua ca hai loai ve
                                    //if (ThuaTien[1] > 0 && ThuaTien[0] > 0)
                                    //    clsCommon.MsgBox("Bạn nhập số dự thưởng Ve5 sai quy định,thừa " + tsotienthua + ", cần bỏ bớt " + ThuaTien[0] + " Ve10, " + ThuaTien[1] + " Ve5", 0);

                                    return;
                                }
                                else
                                {
                                    // 5 ký tự trở lên ko cho phép nhập
                                    if (CompareResult == (int)CheckValidate.CompareTongTien.Zero)
                                    {
                                        clsCommon.MsgBox("Bạn nhập số dự thưởng sai quy định", 0);
                                        txtslve5000.Text = "";
                                        txtslve5000.Focus();
                                        return;
                                    }
                                }
                               
                                da = new SqlDataAdapter("Select Ve5 from Bangkeloto Where Madaily = @Madl and Convert(Datetime,Ngaymothuong,103) = Convert(Datetime,@Ngay,103) and (Ve5 is null or len(Ve5)=0) Order by ID DESC", conn);
                                da.SelectCommand.Parameters.AddWithValue("@Madl", Madl);
                                da.SelectCommand.Parameters.AddWithValue("@Ngay", Ngay);
                                dt = new DataTable();
                                da.Fill(dt);
                                if (dt != null && dt.Rows.Count > 0)
                                {
                                    if (dt.Rows[0]["Ve5"] == null || dt.Rows[0]["Ve5"].ToString().Trim().Length == 0)
                                    {
                                        da = new SqlDataAdapter("Select ID from Bangkeloto Where Madaily=@Madl and Convert(Datetime,Ngaymothuong,103) = Convert(Datetime,@Ngay,103) and (Ve5 is null or len(Ve5)=0) Order by ID", conn);
                                        da.SelectCommand.Parameters.AddWithValue("@Madl", Madl);
                                        da.SelectCommand.Parameters.AddWithValue("@Ngay", Ngay);
                                        dt = new DataTable();
                                        da.Fill(dt);
                                        if (dt != null && dt.Rows.Count > 0)
                                        {
                                            SqlCommand cmd = new SqlCommand("Update Bangkeloto set Ve5 = @so Where ID=@id", conn);
                                            cmd.Parameters.AddWithValue("@so", v);
                                            cmd.Parameters.AddWithValue("@id", dt.Rows[0][0]);
                                            cmd.ExecuteNonQuery();
                                        }
                                    }
                                }
                                else
                                {
                                    SqlCommand cmd = new SqlCommand("Insert into Bangkeloto(Stt,Ve5,Madonvi,Macanbo,Madaily,Ngaymothuong,Tenmay) values (@Stt,@Ve5,@Madonvi,@Macanbo,@Madaily, @Ngaymothuong,@Tenmay)", conn);
                                    cmd.Parameters.AddWithValue("@Ve5", v);
                                    cmd.Parameters.AddWithValue("@Stt", f1);
                                    cmd.Parameters.AddWithValue("@Madonvi", t1);
                                    cmd.Parameters.AddWithValue("@Macanbo", t2);
                                    cmd.Parameters.AddWithValue("@Madaily", Madl);
                                    cmd.Parameters.AddWithValue("@Ngaymothuong", Ngay);
                                    cmd.Parameters.AddWithValue("@Tenmay", _TenMay);
                                    cmd.ExecuteNonQuery();
                                    f1 = f1 + 1;
                                }
                            }
                            Loadbangke(txtslve5000.Text, true);
                            txtslve5000.Text = "";                            
                            Congslve(((MaskedTextBox)sender).Name);

                        }
                    }
                }
                catch
                {
                    clsCommon.MsgBox("Sai định dạng", 0);
                }
            }
        
            private void txtslv5_KeyDown_1(object sender, KeyEventArgs e)
            {
                try
                {
                    if (e.KeyData == Keys.Enter)
                    {
                        DateTime Ngay = (DateTime)clsCommon.Parse(txtngaymt.Text, 4);
                        String Madl = txtmadl.Text.Trim();
                        SqlConnection conn = new SqlConnection(BienTc.connString);
                        if (conn.State == ConnectionState.Closed)
                        {
                            conn.Open();
                        }
                        SqlDataAdapter da = new SqlDataAdapter("Select * from Bangslloto Where Madaily = @Madl and Convert(Datetime,Ngaymothuong,103) = Convert(Datetime,@Ngay,103)", conn);
                        da.SelectCommand.Parameters.AddWithValue("@Madl", Madl);
                        da.SelectCommand.Parameters.AddWithValue("@Ngay", Ngay);
                        //groupBox2
                        int slv5 = 0, slv5thucte = 0;
                        bool isNumber = int.TryParse(txtslv5.Text, out slv5);
                        isNumber = int.TryParse(lblslve5000.Text, out slv5thucte);
                        if (!isNumber || slv5 != slv5thucte)
                        {
                            clsCommon.MsgBox("Số lượng Ve5 thực tế phải bằng Số lượng Ve5 đã nhập", 0);
                            txtslv5.Text = null;
                            return;
                        }
                        else
                        {
                            txtslv10.Focus();
                            checkSLveThucTe();
                        }
                        DataTable dt = new DataTable();
                        da.Fill(dt);
                        if (dt.Rows.Count > 0)
                        {
                            if (e.KeyData == Keys.Enter)
                            {
                                clsCommon.updateRowValue("Bangslloto", "Slve5", "Where Madaily='" + txtmadl.Text.Trim()+"'", txtslv5.Text);
                            }
                        }
                    }
                }
                catch
                {

                }
            }

            private void txtslv10_KeyDown_1(object sender, KeyEventArgs e)
            {
                try
                {
                    if (e.KeyData == Keys.Enter)
                    {
                        int slv10 = 0, slv10thucte = 0;
                        bool isNumber = int.TryParse(txtslv10.Text, out slv10);
                        isNumber = int.TryParse(lblslve10000.Text, out slv10thucte);
                        if (!isNumber || slv10 != slv10thucte)
                        {
                            clsCommon.MsgBox("Số lượng Ve10 thực tế phải bằng Số lượng Ve10 đã nhập", 0);
                            txtslv10.Text = "";
                            return;
                        }
                        else
                        {
                            txtslvc10.Focus();
                            checkSLveThucTe();
                        }
                        SqlConnection conn = new SqlConnection(BienTc.connString);
                        if (conn.State == ConnectionState.Closed)
                        {
                            conn.Open();
                        }
                        SqlDataAdapter da = new SqlDataAdapter("Select * from Bangslloto Where Madaily = @Madl and Convert(Datetime,Ngaymothuong,103) = Convert(Datetime,@Ngay,103)", conn);
                        da.SelectCommand.Parameters.AddWithValue("@Madl", txtmadl.Text);
                        da.SelectCommand.Parameters.AddWithValue("@Ngay", txtngaymt.DateTime);
                        DataTable dt = new DataTable();
                        da.Fill(dt);
                        if (dt.Rows.Count > 0)
                        {
                            if (e.KeyData == Keys.Enter)
                            {
                                clsCommon.updateRowValue("Bangslloto", "Slve10", "Where Madaily='" + txtmadl.Text.Trim()+"'", txtslv10.Text);
                            }
                        }
                    }
                }
                catch
                {

                }
            }

            private void txtslvc10_KeyDown_1(object sender, KeyEventArgs e)
            {
                try
                {
                    if (e.KeyData == Keys.Enter)
                    {
                        // kiem tra so luong ve nhap va so luong ve thuc te
                        int slvec10 = 0,slvec10thucte = 0;
                        bool isNumber = int.TryParse(txtslvc10.Text,out slvec10);
                        isNumber = int.TryParse(lblslvec10000.Text,out slvec10thucte);
                        
                        if (!isNumber || slvec10 != slvec10thucte) //(!txtslvc10.Text.Equals(lblslvec10000.Text))
                        {
                            clsCommon.MsgBox("Số lượng Vec10 thực tế phải bằng Số lượng Vec10 đã nhập", 0);
                            txtslvc10.Text = "";
                            return;
                        }
                        else // neu bang nhau thi di den o nhap so luong vec 20
                        {
                            txtslvc20.Focus();
                            checkSLveThucTe();
                        }
                        SqlConnection conn = new SqlConnection(BienTc.connString);
                        if (conn.State == ConnectionState.Closed)
                        {
                            conn.Open();
                        }
                        SqlDataAdapter da = new SqlDataAdapter("Select * from Bangslloto Where Madaily = @Madl and Convert(Datetime,Ngaymothuong,103) = Convert(Datetime,@Ngay,103)", conn);
                        da.SelectCommand.Parameters.AddWithValue("@Madl", txtmadl.Text);
                        da.SelectCommand.Parameters.AddWithValue("@Ngay", txtngaymt.DateTime);
                        DataTable dt = new DataTable();
                        da.Fill(dt);
                        if (dt.Rows.Count > 0)
                        {
                            if (e.KeyData == Keys.Enter)
                            {
                                clsCommon.updateRowValue("Bangslloto", "Slvec10", "Where Madaily='" + txtmadl.Text.Trim()+"'", txtslvc10.Text);
                            }
                        }
                    }
                }
                catch
                {

                }
            }

            private void txtslvc20_KeyDown_1(object sender, KeyEventArgs e)
            {
                try
                {
                    if (e.KeyData == Keys.Enter)
                    {
                        // Kiêm tra sô lương vé  nhap so voi thuc te 
                        int slvec20 = 0, slvec20thucte = 0;
                        bool isNumber = int.TryParse(txtslvc20.Text, out slvec20);
                        isNumber = int.TryParse(lblslvec20000.Text, out slvec20thucte);

                        if (!isNumber || slvec20 != slvec20thucte) //(!txtslvc10.Text.Equals(lblslvec10000.Text))
                        {
                            clsCommon.MsgBox("Số lượng Vec20 thực tế phải bằng Số lượng Vec20 đã nhập", 0);
                            txtslvc20.Text = "";
                            return;
                        }
                        else // tro chuot den ma dai ly neu hop le
                        {

                            checkSLveThucTe();
                            txtmadl.Focus();
                        }
                        SqlConnection conn = new SqlConnection(BienTc.connString);
                        if (conn.State == ConnectionState.Closed)
                        {
                            conn.Open();
                        }
                        SqlDataAdapter da = new SqlDataAdapter("Select * from Bangslloto Where Madaily = @Madl and Convert(Datetime,Ngaymothuong,103) = Convert(Datetime,@Ngay,103)", conn);
                        da.SelectCommand.Parameters.AddWithValue("@Madl", txtmadl.Text);
                        da.SelectCommand.Parameters.AddWithValue("@Ngay", txtngaymt.DateTime);
                        DataTable dt = new DataTable();
                        da.Fill(dt);
                        if (dt.Rows.Count > 0)
                        {
                            if (e.KeyData == Keys.Enter)
                            {
                                clsCommon.updateRowValue("Bangslloto", "Slvec20", "Where Madaily='" + txtmadl.Text.Trim()+"'", txtslvc20.Text);
                            }
                        }
                    }
                }
                catch
                {

                }
            }

            private void txtslve10000_KeyDown_1(object sender, KeyEventArgs e)
            {
                try
                {
                    if (e.KeyData == Keys.Enter)
                    {
                        DateTime Ngay = (DateTime)clsCommon.Parse(txtngaymt.Text, 4);
                        String Madl = txtmadl.Text.Trim();
                        if (Madl == "")
                        {
                            clsCommon.MsgBox("Bạn chưa nhập mã đại lý.", 0);
                            return;
                        }
                        if (_TenMay == "")
                        {
                            clsCommon.MsgBox("Máy tính đã bị treo, bạn hãy thoát ra rồi vào lại", 0);
                            return;
                        }
                        if (txtslve10000.Text.Trim().Length >= 2)
                        {

                            SqlConnection conn = new SqlConnection(BienTc.connString);
                            if (conn.State == ConnectionState.Closed)
                            {
                                conn.Open();
                            }
                            SqlDataAdapter da = null;
                            DataTable dt = null;
                            Dictionary<CheckNhapLienTiep.MaLoi,string> error = new Dictionary<CheckNhapLienTiep.MaLoi,string>();
                            string v = "", t = "", t1 = "", t2 = "", t3 = "", k = "", k1 = "", k2 = "";
                            int a = 0, b = 0, c = 0, d = 0, a1 = 0, b1 = 0, c1 = 0, d1 = 0;
                            int i = 0;
                            t = Madl;
                            t1 = t.Substring(0, 1);
                            t2 = t.Substring(0, 2);
                            v = txtslve10000.Text.Trim();
                            d = v.Length;
                            d1 = v.Length;
                            if (v.Contains("-"))
                            {
                                if (v.IndexOf("-") == 0)
                                {
                                    clsCommon.MsgBox("Bạn nhập số dự thưởng nhẩy liên tiếp sai quy định", 0);
                                    return;
                                }
                                if (v.IndexOf("-").ToString() == v.LastIndexOf("-").ToString())
                                {
                                    a1 = v.IndexOf("-");
                                    b1 = v.Length;
                                    if (a1 + 1 == b1)
                                    {
                                        clsCommon.MsgBox("Bạn nhập số dự thưởng nhẩy liên tiếp sai quy định", 0);
                                        return;
                                    }
                                    k = v.Substring(0, 2);
                                    k1 = v.Substring(3, 2);
                                    k2 = k;
                                    
                                    if (a1 == 2 && b1 == 5)
                                    {
                                        // truong hop 00-99: nhay 11
                                        if ((int.Parse(k.Substring(0, 1)) == int.Parse(k.Substring(1, 1))) && (int.Parse(k1.Substring(0, 1)) == int.Parse(k1.Substring(1, 1))))
                                        {
                                            error = CheckNhapLienTiep.Check(CheckNhapLienTiep.TruongHop.Nhay11, k, k1, Madl, Ngay, "Ve10", ref f1, "Ve5Ve10");
                                            if (error.FirstOrDefault().Key == CheckNhapLienTiep.MaLoi.LoiThuaTienNhayLienTiep)
                                            {
                                                clsCommon.MsgBox(error.FirstOrDefault().Value, 0);
                                                // return;
                                            }
                                            //for (i = int.Parse(k.Substring(0, 1)); i <= int.Parse(k1.Substring(0, 1)); i++)
                                            //{
                                            //    da = new SqlDataAdapter("Select Ve10 from Bangkeloto Where Madaily=@Madl and Convert(Datetime,Ngaymothuong,103) = Convert(Datetime,@Ngay,103) and (Ve10 is null or len(Ve10)=0) Order by ID DESC", conn);
                                            //    da.SelectCommand.Parameters.AddWithValue("@Madl", Madl);
                                            //    da.SelectCommand.Parameters.AddWithValue("@Ngay", Ngay);
                                            //    dt = new DataTable();
                                            //    da.Fill(dt);
                                            //    if (dt != null && dt.Rows.Count > 0)
                                            //    {
                                            //        if (dt.Rows[0]["Ve10"] == null || dt.Rows[0]["Ve10"].ToString().Trim().Length == 0)
                                            //        {
                                            //            da = new SqlDataAdapter("Select ID from Bangkeloto Where Madaily=@Madl and Convert(Datetime,Ngaymothuong,103) = Convert(Datetime,@Ngay,103) and (Ve10 is null or len(Ve10)=0) Order by ID", conn);
                                            //            da.SelectCommand.Parameters.AddWithValue("@Madl", Madl);
                                            //            da.SelectCommand.Parameters.AddWithValue("@Ngay", Ngay);
                                            //            dt = new DataTable();
                                            //            da.Fill(dt);
                                            //            if (dt != null && dt.Rows.Count > 0)
                                            //            {
                                            //                SqlCommand cmd = new SqlCommand("Update Bangkeloto set Ve10 = @so Where ID=@id", conn);
                                            //                cmd.Parameters.AddWithValue("@so", k2);
                                            //                cmd.Parameters.AddWithValue("@id", dt.Rows[0][0]);
                                            //                cmd.ExecuteNonQuery();
                                            //            }
                                            //        }
                                            //    }
                                            //    else
                                            //    {
                                            //        SqlCommand cmd = new SqlCommand("Insert into Bangkeloto(Stt,Ve10,Madonvi,Macanbo,Madaily,Ngaymothuong,Tenmay) values (@Stt,@Ve10,@Madonvi,@Macanbo,@Madaily, @Ngaymothuong,@Tenmay)", conn);
                                            //        cmd.Parameters.AddWithValue("@Ve10", k2);
                                            //        cmd.Parameters.AddWithValue("@Stt", f1);
                                            //        cmd.Parameters.AddWithValue("@Madonvi", t1);
                                            //        cmd.Parameters.AddWithValue("@Macanbo", t2);
                                            //        cmd.Parameters.AddWithValue("@Madaily", Madl);
                                            //        cmd.Parameters.AddWithValue("@Ngaymothuong", Ngay);
                                            //        cmd.Parameters.AddWithValue("@Tenmay", _TenMay);
                                            //        cmd.ExecuteNonQuery();
                                            //        f1 = f1 + 1;
                                            //    }
                                            //    k2 = (int.Parse(k2) + 11).ToString();
                                            //}
                                        }
                                        else
                                        {
                                            // 10-19: nhay 1
                                            if ((int.Parse(k.Substring(0, 1)) == int.Parse(k1.Substring(0, 1))) && (int.Parse(k.Substring(1, 1)) < int.Parse(k1.Substring(1, 1))))
                                            {
                                                error = CheckNhapLienTiep.Check(CheckNhapLienTiep.TruongHop.Nhay1, k, k1, Madl, Ngay, "Ve10", ref f1, "Ve5Ve10");
                                                if (error.FirstOrDefault().Key == CheckNhapLienTiep.MaLoi.LoiThuaTienNhayLienTiep)
                                                {
                                                    clsCommon.MsgBox(error.FirstOrDefault().Value, 0);
                                                    // return;
                                                }
                                                //for (i = int.Parse(k.Substring(1, 1)); i <= int.Parse(k1.Substring(1, 1)); i++)
                                                //{
                                                //    da = new SqlDataAdapter("Select Ve10 from Bangkeloto Where Madaily=@Madl and Convert(Datetime,Ngaymothuong,103) = Convert(Datetime,@Ngay,103) and (Ve10 is null or len(Ve10)=0) Order by ID DESC", conn);
                                                //    da.SelectCommand.Parameters.AddWithValue("@Madl", Madl);
                                                //    da.SelectCommand.Parameters.AddWithValue("@Ngay", Ngay);
                                                //    dt = new DataTable();
                                                //    da.Fill(dt);
                                                //    if (dt != null && dt.Rows.Count > 0)
                                                //    {
                                                //        if (dt.Rows[0]["Ve10"] == null || dt.Rows[0]["Ve10"].ToString().Trim().Length == 0)
                                                //        {
                                                //            da = new SqlDataAdapter("Select ID from Bangkeloto Where Madaily=@Madl and Convert(Datetime,Ngaymothuong,103) = Convert(Datetime,@Ngay,103) and (Ve10 is null or len(Ve10)=0) Order by ID", conn);
                                                //            da.SelectCommand.Parameters.AddWithValue("@Madl", Madl);
                                                //            da.SelectCommand.Parameters.AddWithValue("@Ngay", Ngay);
                                                //            dt = new DataTable();
                                                //            da.Fill(dt);
                                                //            if (dt != null && dt.Rows.Count > 0)
                                                //            {
                                                //                SqlCommand cmd = new SqlCommand("Update Bangkeloto set Ve10 = @so Where ID=@id", conn);
                                                //                cmd.Parameters.AddWithValue("@so", k2.Substring(0, 1) + i.ToString());
                                                //                cmd.Parameters.AddWithValue("@id", dt.Rows[0][0]);
                                                //                cmd.ExecuteNonQuery();
                                                //            }
                                                //        }
                                                //    }
                                                //    else
                                                //    {
                                                //        SqlCommand cmd = new SqlCommand("Insert into Bangkeloto(Stt,Ve10,Madonvi,Macanbo,Madaily,Ngaymothuong,Tenmay) values (@Stt,@Ve10,@Madonvi,@Macanbo,@Madaily, @Ngaymothuong,@Tenmay)", conn);
                                                //        cmd.Parameters.AddWithValue("@Ve10", k2.Substring(0, 1) + i.ToString());
                                                //        cmd.Parameters.AddWithValue("@Stt", f1);
                                                //        cmd.Parameters.AddWithValue("@Madonvi", t1);
                                                //        cmd.Parameters.AddWithValue("@Macanbo", t2);
                                                //        cmd.Parameters.AddWithValue("@Madaily", Madl);
                                                //        cmd.Parameters.AddWithValue("@Ngaymothuong", Ngay);
                                                //        cmd.Parameters.AddWithValue("@Tenmay", _TenMay);
                                                //        cmd.ExecuteNonQuery();
                                                //        f1 = f1 + 1;
                                                //    }
                                                //}
                                            }
                                            else
                                            {
                                                // 00-90: nhay 10
                                                if ((int.Parse(k.Substring(0, 1)) < int.Parse(k1.Substring(0, 1))) && (int.Parse(k.Substring(1, 1)) == int.Parse(k1.Substring(1, 1))))
                                                {
                                                    error = CheckNhapLienTiep.Check(CheckNhapLienTiep.TruongHop.Nhay10, k, k1, Madl, Ngay, "Ve10", ref f1, "Ve5Ve10");
                                                    if (error.FirstOrDefault().Key == CheckNhapLienTiep.MaLoi.LoiThuaTienNhayLienTiep)
                                                    {
                                                        clsCommon.MsgBox(error.FirstOrDefault().Value, 0);
                                                        // return;
                                                    }
                                                    //for (i = int.Parse(k.Substring(0, 1)); i <= int.Parse(k1.Substring(0, 1)); i++)
                                                    //{
                                                    //    da = new SqlDataAdapter("Select Ve10 from Bangkeloto Where Madaily=@Madl and Convert(Datetime,Ngaymothuong,103) = Convert(Datetime,@Ngay,103) and (Ve10 is null or len(Ve10)=0) Order by ID DESC", conn);
                                                    //    da.SelectCommand.Parameters.AddWithValue("@Madl", Madl);
                                                    //    da.SelectCommand.Parameters.AddWithValue("@Ngay", Ngay);
                                                    //    dt = new DataTable();
                                                    //    da.Fill(dt);
                                                    //    if (dt != null && dt.Rows.Count > 0)
                                                    //    {
                                                    //        if (dt.Rows[0]["Ve10"] == null || dt.Rows[0]["Ve10"].ToString().Trim().Length == 0)
                                                    //        {
                                                    //            da = new SqlDataAdapter("Select ID from Bangkeloto Where Madaily=@Madl and Convert(Datetime,Ngaymothuong,103) = Convert(Datetime,@Ngay,103) and (Ve10 is null or len(Ve10)=0) Order by ID", conn);
                                                    //            da.SelectCommand.Parameters.AddWithValue("@Madl", Madl);
                                                    //            da.SelectCommand.Parameters.AddWithValue("@Ngay", Ngay);
                                                    //            dt = new DataTable();
                                                    //            da.Fill(dt);
                                                    //            if (dt != null && dt.Rows.Count > 0)
                                                    //            {
                                                    //                SqlCommand cmd = new SqlCommand("Update Bangkeloto set Ve10 = @so Where ID=@id", conn);
                                                    //                cmd.Parameters.AddWithValue("@so", i.ToString() + k2.Substring(1, 1));
                                                    //                cmd.Parameters.AddWithValue("@id", dt.Rows[0][0]);
                                                    //                cmd.ExecuteNonQuery();
                                                    //            }
                                                    //        }
                                                    //    }
                                                    //    else
                                                    //    {
                                                    //        SqlCommand cmd = new SqlCommand("Insert into Bangkeloto(Stt,Ve10,Madonvi,Macanbo,Madaily,Ngaymothuong,Tenmay) values (@Stt,@Ve10,@Madonvi,@Macanbo,@Madaily, @Ngaymothuong,@Tenmay)", conn);
                                                    //        cmd.Parameters.AddWithValue("@Ve10", i.ToString() + k2.Substring(1, 1));
                                                    //        cmd.Parameters.AddWithValue("@Stt", f1);
                                                    //        cmd.Parameters.AddWithValue("@Madonvi", t1);
                                                    //        cmd.Parameters.AddWithValue("@Macanbo", t2);
                                                    //        cmd.Parameters.AddWithValue("@Madaily", Madl);
                                                    //        cmd.Parameters.AddWithValue("@Ngaymothuong", Ngay);
                                                    //        cmd.Parameters.AddWithValue("@Tenmay", _TenMay);
                                                    //        cmd.ExecuteNonQuery();
                                                    //        f1 = f1 + 1;
                                                    //    }
                                                    //}
                                                }
                                                else
                                                {
                                                    clsCommon.MsgBox("Bạn nhập số dự thưởng nhẩy liên tiếp sai quy định", 0);
                                                    return;
                                                }
                                            }
                                        }
                                    }
                                    else
                                    {
                                        clsCommon.MsgBox("Bạn nhập số dự thưởng nhẩy liên tiếp sai quy định", 0);
                                        return;
                                    }
                                }
                                else
                                {
                                    clsCommon.MsgBox("Bạn nhập số dự thưởng nhẩy liên tiếp sai quy định", 0);
                                    return;
                                }
                            }
                            if (v.Contains("+"))
                            {
                                if (v.IndexOf("+") == 0)
                                {
                                    clsCommon.MsgBox("Bạn nhập số dự thưởng nhẩy liên tiếp sai quy định", 0);
                                    return;
                                }
                                if (v.IndexOf("+").ToString() == v.LastIndexOf("+").ToString())
                                {
                                    a = v.IndexOf("+");
                                    b = v.Length;
                                    if (a + 1 == b)
                                    {
                                        clsCommon.MsgBox("Bạn nhập số dự thưởng sai quy định", 0);
                                        return;
                                    }
                                    if (a >= 5 || a == b)
                                    {
                                        clsCommon.MsgBox("Bạn nhập số dự thưởng sai quy định", 0);
                                        txtslve10000.Text = "";
                                        txtslve10000.Focus();
                                        return;
                                    }
                                    c = b - a - 1;
                                    string _mave = v.Substring(0, a);
                                    if (_mave.Length < 2)
                                    {
                                        clsCommon.MsgBox("Bạn nhập số dự thưởng sai quy định(ít hơn 2 ký tư)", 0);
                                        txtslve10000.Text = "";
                                        txtslve10000.Focus();return;
                                    }
                                    int soluongvenhap = int.Parse(v.Substring(a + 1, c));
                                    int slvehientai = 0;
                                    // kiem tra so luong ve
                                   // bool hasValid = CheckValidate.CheckValidateTongSoLuongVe(_mave, Madl, Ngay, soluongvenhap, "Ve10", ref slvehientai);

                                    int CompareResult =
                                        CheckValidate.CheckValidateTongSoLuongVe(_mave, Madl, Ngay, soluongvenhap, "Ve10", ref slvehientai);
                                    if (CompareResult == (int)CheckValidate.CompareTongTien.Biger)
                                    {
                                        // tinh tong tien thua de xuat thong bao
                                        int tsotienthua = 0;
                                        List<int> ThuaTien = CheckValidate.tinhThuaTien(_mave, soluongvenhap, "Ve10", slvehientai, ref tsotienthua);
                                        // neu chi thua tien ve 10 thi thong bao thua ve 10
                                        //if (ThuaTien[0] == 0)
                                        //    clsCommon.MsgBox("Bạn nhập số dự thưởng Ve10 sai quy định,thừa " + tsotienthua + ", cần bỏ bớt " + ThuaTien[1] + " Ve5", 0);
                                        //// neu chi thua tien ve 5 thi thong bao thua ve 5
                                        //if (ThuaTien[1] == 0)
                                            clsCommon.MsgBox("Bạn nhập số dự thưởng Ve10 sai quy định,thừa " + tsotienthua + ", cần bỏ bớt " + ThuaTien[0] + " Ve10", 0);
                                        //// neu  thua tien ca 2 loai ve thi thong bao thua ca hai loai ve
                                        //if (ThuaTien[1] > 0 && ThuaTien[0] > 0)
                                        //    clsCommon.MsgBox("Bạn nhập số dự thưởng Ve10 sai quy định,thừa " + tsotienthua + ", cần bỏ bớt " + ThuaTien[0] + " Ve10, " + ThuaTien[1] + " Ve5", 0);

                                        return;
                                    }
                                    else
                                    {
                                        if (CompareResult == (int)CheckValidate.CompareTongTien.Zero)
                                        {
                                            clsCommon.MsgBox("Bạn nhập số dự thưởng sai quy định", 0);
                                            txtslve10000.Text = "";
                                            txtslve10000.Focus();
                                            return;
                                        }
                                    }
                                    for (i = 1; i <= int.Parse(v.Substring(a + 1, c)); i++)
                                    {
                                        k = v.Substring(0, a);
                                        da = new SqlDataAdapter("Select Ve10 from Bangkeloto Where Madaily=@Madl and Convert(Datetime,Ngaymothuong,103) = Convert(Datetime,@Ngay,103) and (Ve10 is null or len(Ve10)=0) Order by ID DESC", conn);
                                        da.SelectCommand.Parameters.AddWithValue("@Madl", Madl);
                                        da.SelectCommand.Parameters.AddWithValue("@Ngay", Ngay);
                                        dt = new DataTable();
                                        da.Fill(dt);
                                        if (dt != null && dt.Rows.Count > 0)
                                        {
                                            if (dt.Rows[0]["Ve10"] == null || dt.Rows[0]["Ve10"].ToString().Trim().Length == 0)
                                            {
                                                da = new SqlDataAdapter("Select ID from Bangkeloto Where Madaily=@Madl and Convert(Datetime,Ngaymothuong,103) = Convert(Datetime,@Ngay,103) and (Ve10 is null or len(Ve10)=0) Order by ID", conn);
                                                da.SelectCommand.Parameters.AddWithValue("@Madl", Madl);
                                                da.SelectCommand.Parameters.AddWithValue("@Ngay", Ngay);
                                                dt = new DataTable();
                                                da.Fill(dt);
                                                if (dt != null && dt.Rows.Count > 0)
                                                {
                                                    SqlCommand cmd = new SqlCommand("Update Bangkeloto set Ve10 = @so Where ID=@id", conn);
                                                    cmd.Parameters.AddWithValue("@so", k);
                                                    cmd.Parameters.AddWithValue("@id", dt.Rows[0][0]);
                                                    cmd.ExecuteNonQuery();
                                                }
                                            }
                                        }
                                        else
                                        {
                                            SqlCommand cmd = new SqlCommand("Insert into Bangkeloto(Stt,Ve10,Madonvi,Macanbo,Madaily,Ngaymothuong,Tenmay) values (@Stt,@Ve10,@Madonvi,@Macanbo,@Madaily, @Ngaymothuong,@Tenmay)", conn);
                                            cmd.Parameters.AddWithValue("@Ve10", k);
                                            cmd.Parameters.AddWithValue("@Stt", f1);
                                            cmd.Parameters.AddWithValue("@Madonvi", t1);
                                            cmd.Parameters.AddWithValue("@Macanbo", t2);
                                            cmd.Parameters.AddWithValue("@Madaily", Madl);
                                            cmd.Parameters.AddWithValue("@Ngaymothuong", Ngay);
                                            cmd.Parameters.AddWithValue("@Tenmay", _TenMay);
                                            cmd.ExecuteNonQuery();
                                            f1 = f1 + 1;
                                        }
                                        if (i > 100)
                                        {
                                            txtslve10000.Text = "";
                                            Loadbangke();
                                            Congslve();
                                            clsCommon.MsgBox("Một bảng kê không được nhập quá 100 số dự thưởng liên tục", 0);
                                            return;
                                        }
                                    }
                                }
                                else
                                {
                                    clsCommon.MsgBox("Bạn nhập số dự thưởng sai quy định", 0);
                                    return;
                                }
                            }
                            if (v.Contains("+") == false && v.Contains("-") == false) 
                            {
                                //if (txtslve10000.Text.Trim().Length >= 4)
                                //{
                                //    clsCommon.MsgBox("Bạn nhập số dự thưởng sai quy định", 0);
                                //    return;
                                //}
                                // kiem tra gioi han ve
                                string _mave = v;
                                int soluongvenhap = 1;
                                int slvehientai = 0;
                              //  bool hasValid = CheckValidate.CheckValidateTongSoLuongVe(_mave, Madl, Ngay, soluongvenhap, "Ve10", ref slvehientai);
                                int CompareResult =
                                         CheckValidate.CheckValidateTongSoLuongVe(_mave, Madl, Ngay, soluongvenhap, "Ve10", ref slvehientai);
                                if (CompareResult == (int)CheckValidate.CompareTongTien.Biger)
                                {
                                    // tinh tong tien thua de xuat thong bao
                                    int tsotienthua = 0;
                                    List<int> ThuaTien = CheckValidate.tinhThuaTien(_mave, soluongvenhap, "Ve10", slvehientai, ref tsotienthua);
                                    // neu chi thua tien ve 10 thi thong bao thua ve 10
                                    //if (ThuaTien[0] == 0)
                                    //    clsCommon.MsgBox("Bạn nhập số dự thưởng Ve10 sai quy định,thừa " + tsotienthua + ", cần bỏ bớt " + ThuaTien[1] + " Ve5", 0);
                                    //// neu chi thua tien ve 5 thi thong bao thua ve 5
                                    //if (ThuaTien[1] == 0)
                                        clsCommon.MsgBox("Bạn nhập số dự thưởng Ve10 sai quy định,thừa " + tsotienthua + ", cần bỏ bớt " + ThuaTien[0] + " Ve10", 0);
                                    //// neu  thua tien ca 2 loai ve thi thong bao thua ca hai loai ve
                                    //if (ThuaTien[1] > 0 && ThuaTien[0] > 0)
                                    //    clsCommon.MsgBox("Bạn nhập số dự thưởng Ve10 sai quy định,thừa " + tsotienthua + ", cần bỏ bớt " + ThuaTien[0] + " Ve10, " + ThuaTien[1] + " Ve5", 0);

                                    return;
                                }
                                else
                                {
                                    if (CompareResult == (int)CheckValidate.CompareTongTien.Zero)
                                    {
                                        clsCommon.MsgBox("Bạn nhập số dự thưởng sai quy định", 0);
                                        txtslve10000.Text = "";
                                        txtslve10000.Focus();
                                        return;
                                    }
                                }
                                da = new SqlDataAdapter("Select Ve10 from Bangkeloto Where Madaily = @Madl and Convert(Datetime,Ngaymothuong,103) = Convert(Datetime,@Ngay,103) and (Ve10 is null or len(Ve10)=0) Order by ID DESC", conn);
                                da.SelectCommand.Parameters.AddWithValue("@Madl", Madl);
                                da.SelectCommand.Parameters.AddWithValue("@Ngay", Ngay);
                                dt = new DataTable();
                                da.Fill(dt);
                                if (dt != null && dt.Rows.Count > 0)
                                {
                                    if (dt.Rows[0]["Ve10"] == null || dt.Rows[0]["Ve10"].ToString().Trim().Length == 0)
                                    {
                                        da = new SqlDataAdapter("Select ID from Bangkeloto Where Madaily=@Madl and Convert(Datetime,Ngaymothuong,103) = Convert(Datetime,@Ngay,103) and (Ve10 is null or len(Ve10)=0) Order by ID", conn);
                                        da.SelectCommand.Parameters.AddWithValue("@Madl", Madl);
                                        da.SelectCommand.Parameters.AddWithValue("@Ngay", Ngay);
                                        dt = new DataTable();
                                        da.Fill(dt);
                                        if (dt != null && dt.Rows.Count > 0)
                                        {
                                            SqlCommand cmd = new SqlCommand("Update Bangkeloto set Ve10 = @so Where ID=@id", conn);
                                            cmd.Parameters.AddWithValue("@so", v);
                                            cmd.Parameters.AddWithValue("@id", dt.Rows[0][0]);
                                            cmd.ExecuteNonQuery();
                                        }
                                    }
                                }
                                else
                                {
                                    
                                    SqlCommand cmd = new SqlCommand("Insert into Bangkeloto(Stt,Ve10,Madonvi,Macanbo,Madaily,Ngaymothuong,Tenmay) values (@Stt,@Ve10,@Madonvi,@Macanbo,@Madaily, @Ngaymothuong,@Tenmay)", conn);
                                    cmd.Parameters.AddWithValue("@Ve10", v);
                                    cmd.Parameters.AddWithValue("@Stt", f1);
                                    cmd.Parameters.AddWithValue("@Madonvi", t1);
                                    cmd.Parameters.AddWithValue("@Macanbo", t2);
                                    cmd.Parameters.AddWithValue("@Madaily", Madl);
                                    cmd.Parameters.AddWithValue("@Ngaymothuong", Ngay);
                                    cmd.Parameters.AddWithValue("@Tenmay", _TenMay);
                                    cmd.ExecuteNonQuery();
                                    f1 = f1 + 1;
                                }
                            }
                            Loadbangke(txtslve10000.Text, true);
                            txtslve10000.Text = "";                           
                            Congslve(((MaskedTextBox)sender).Name);
                        }
                    }
                }

                catch
                {
                    clsCommon.MsgBox("Sai định dạng", 0);
                }
            }

            private void txtslvec10000_KeyDown_1(object sender, KeyEventArgs e)
            {
                  try
                {
                    if (txtslvec10000.SelectionStart >= 3)
                    {
                        if (string.IsNullOrWhiteSpace(txtslvec10000.Text.Substring(0, 2)))
                        {
                            clsCommon.MsgBox("Vui lòng nhập ô đầu tiên", 0);
                            txtslvec10000.Text = "";
                        }
                    }
                    if (e.KeyData == Keys.Enter)
                    {
                        
                        DateTime Ngay = (DateTime)clsCommon.Parse(txtngaymt.Text, 4);
                        String Madl = txtmadl.Text.Trim();
                        if (Madl == "")
                        {
                            clsCommon.MsgBox("Bạn chưa nhập mã đại lý.", 0);
                            return;
                        }
                        if (_TenMay == "")
                        {
                            clsCommon.MsgBox("Máy tính đã bị treo, bạn hãy thoát ra rồi vào lại", 0);
                            return;
                        }

                        SqlConnection conn = new SqlConnection(BienTc.connString);
                        if (conn.State == ConnectionState.Closed)
                        {
                            conn.Open();
                        }
                        SqlDataAdapter da = null;
                        DataTable dt = null;
                        string v = "", t = "", t1 = "", t2 = "", k = "";
                        int a = 0, b = 0, c1 = 0, l = 0;
                        int i = 0;
                        t = Madl;
                        t1 = t.Substring(0, 1);
                        t2 = t.Substring(0, 2);
                        v = txtslvec10000.Text.Trim();
                        da = new SqlDataAdapter("Select Vec10 from Bangkeloto Where Madaily=@Madl and Convert(Datetime,Ngaymothuong,103) = Convert(Datetime,@Ngay,103) and (Vec10 is null or len(Vec10)=0) Order by ID DESC", conn);
                        da.SelectCommand.Parameters.AddWithValue("@Madl", txtmadl.Text);
                        da.SelectCommand.Parameters.AddWithValue("@Ngay", txtngaymt.DateTime);
                        dt = new DataTable();
                        da.Fill(dt);
                        string ss = "";
                        string s = "";
                        string ss1 = "";
                        string s1 = "";
                        string ss2 = "";
                        string s2 = "";
                        int slvehientai = 0;
                        foreach (char c in v)
                        {
                            if (c == '-')
                            {
                                l = l + 1;
                            }
                        }
                        if (l > 4)
                        {
                            clsCommon.MsgBox("Bạn nhập số dự thưởng sai quy định", 0);
                            return;
                        }
                        if (v.Contains("+"))
                        {
                            if (v.IndexOf("+").ToString() == v.LastIndexOf("+").ToString())
                            {
                                a = v.IndexOf("+");
                                b = v.Length;
                                c1 = b - a - 1;
                                
                                foreach (char c in v.Substring(a + 1, c1))
                                {
                                    if (c == '-')
                                    {
                                        s1 = "";
                                    }
                                    else
                                    {
                                        s1 = c.ToString();
                                    }
                                    ss1 += s1;
                                }
                                if (ss1.Trim() == "")
                                {
                                    clsCommon.MsgBox("Bạn nhập số dự thưởng sai quy định", 0);
                                    return;
                                }
                                foreach (char c in v.Substring(0, a))
                                {
                                    if (c == '-')
                                    {
                                        s2 = "";
                                    }
                                    else
                                    {
                                        s2 = c.ToString();
                                    }
                                    ss2 += s2;
                                }
                                int d = ss2.Trim().Length;
                                if (d % 2 != 0)
                                {
                                    clsCommon.MsgBox("Bạn nhập số dự thưởng sai quy định", 0);
                                    return;
                                }
                                slvehientai = CheckValidate.GetSlVeHienTai(v.Substring(0, a), Ngay, Madl, "Vec10", null) + int.Parse(ss1.Trim());
                                if (slvehientai > 100)
                                {
                                    clsCommon.MsgBox("Bạn ko được phép nhập quá 100 vé cặp 10", 0);
                                    return;
                                }
                                for (i = 1; i <= int.Parse(ss1.Trim()); i++)
                                {
                                    k = v.Substring(0, a);

                                    k = clsLoTo.getValidVeCap(k);
                                    da = new SqlDataAdapter("Select Vec10 from Bangkeloto Where Madaily=@Madl and Convert(Datetime,Ngaymothuong,103) = Convert(Datetime,@Ngay,103) and (Vec10 is null or len(Vec10)=0) Order by ID DESC", conn);
                                    da.SelectCommand.Parameters.AddWithValue("@Madl", Madl);
                                    da.SelectCommand.Parameters.AddWithValue("@Ngay", Ngay);
                                    dt = new DataTable();
                                    da.Fill(dt);
                                    if (dt != null && dt.Rows.Count > 0)
                                    {
                                        if (dt.Rows[0]["Vec10"] == null || dt.Rows[0]["Vec10"].ToString().Trim().Length == 0)
                                        {
                                            da = new SqlDataAdapter("Select ID from Bangkeloto Where Madaily=@Madl and Convert(Datetime,Ngaymothuong,103) = Convert(Datetime,@Ngay,103) and (Vec10 is null or len(Vec10)=0) Order by ID", conn);
                                            da.SelectCommand.Parameters.AddWithValue("@Madl", Madl);
                                            da.SelectCommand.Parameters.AddWithValue("@Ngay", Ngay);
                                            dt = new DataTable();
                                            da.Fill(dt);
                                            if (dt != null && dt.Rows.Count > 0)
                                            {
                                                SqlCommand cmd = new SqlCommand("Update Bangkeloto set Vec10 = @so Where ID=@id", conn);
                                                cmd.Parameters.AddWithValue("@so", k);
                                                cmd.Parameters.AddWithValue("@id", dt.Rows[0][0]);
                                                cmd.ExecuteNonQuery();
                                            }
                                        }
                                    }
                                    else
                                    {
                                        SqlCommand cmd = new SqlCommand("Insert into Bangkeloto(Stt,Vec10,Madonvi,Macanbo,Madaily,Ngaymothuong,Tenmay) values (@Stt,@Vec10,@Madonvi,@Macanbo,@Madaily, @Ngaymothuong,@Tenmay)", conn);
                                        cmd.Parameters.AddWithValue("@Vec10", k);
                                        cmd.Parameters.AddWithValue("@Stt", f1);
                                        cmd.Parameters.AddWithValue("@Madonvi", t1);
                                        cmd.Parameters.AddWithValue("@Macanbo", t2);
                                        cmd.Parameters.AddWithValue("@Madaily", Madl);
                                        cmd.Parameters.AddWithValue("@Ngaymothuong", Ngay);
                                        cmd.Parameters.AddWithValue("@Tenmay", _TenMay);
                                        cmd.ExecuteNonQuery();
                                        f1 = f1 + 1;
                                    }
                                    //if (i > 100)
                                    //{
                                    //    txtslvec10000.Text = "";
                                    //    Loadbangke();
                                    //    Congslve();
                                    //    clsCommon.MsgBox("Một bảng kê không được nhập quá 100 số dự thưởng liên tục", 0);
                                    //    return;
                                    //}
                                }
                            }
                            else
                            {
                                return;
                            }
                        }
                        else
                        {
                            // nhap 1 ve
                            slvehientai = CheckValidate.GetSlVeHienTai(v, Ngay, Madl, "Vec10", null) + 1;
                            if (slvehientai > 100)
                            {
                                clsCommon.MsgBox("Bạn ko được phép nhập quá 100 vé cặp 10", 0);
                                return;
                            }
                            foreach (char c in v)
                            {
                                if (c == '-')
                                {
                                    s = "";
                                }
                                else
                                {
                                    s = c.ToString();
                                }
                                ss += s;
                            }
                            int d = ss.ToString().Trim().Length;
                            if (d <= 3)
                            {
                                return;
                            }
                            if (d % 2 == 0)
                            {
                                if (dt != null && dt.Rows.Count > 0)
                                {
                                    if (dt.Rows[0]["Vec10"] == null || dt.Rows[0]["Vec10"].ToString().Trim().Length == 0)
                                    {
                                        da = new SqlDataAdapter("Select ID from Bangkeloto Where Madaily=@Madl and Convert(Datetime,Ngaymothuong,103) = Convert(Datetime,@Ngay,103) and (Vec10 is null or len(Vec10)=0) Order by ID", conn);
                                        da.SelectCommand.Parameters.AddWithValue("@Madl", Madl);
                                        da.SelectCommand.Parameters.AddWithValue("@Ngay", Ngay);
                                        dt = new DataTable();
                                        da.Fill(dt);
                                        if (dt != null && dt.Rows.Count > 0)
                                        {
                                            v = clsLoTo.getValidVeCap(v);
                                            SqlCommand cmd
                                                = new SqlCommand("Update Bangkeloto set Vec10=@so Where ID=@id", conn);
                                            cmd.Parameters.AddWithValue("@so", v);
                                            cmd.Parameters.AddWithValue("@id", dt.Rows[0][0]);
                                            cmd.ExecuteNonQuery();
                                        }
                                    }
                                    else
                                    {
                                        v = clsLoTo.getValidVeCap(v);
                                        SqlCommand cmd = new SqlCommand("Insert into Bangkeloto(Vec10,Stt,Madonvi,Macanbo,Madaily,Ngaymothuong,Tenmay) values(@Vec10,@Stt,@Madonvi,@Macanbo,@Madaily,@Ngaymothuong,@Tenmay)", conn);
                                        cmd.Parameters.AddWithValue("@Vec10", v);
                                        cmd.Parameters.AddWithValue("@Stt", f1);
                                        cmd.Parameters.AddWithValue("@Madonvi", t1);
                                        cmd.Parameters.AddWithValue("@Macanbo", t2);
                                        cmd.Parameters.AddWithValue("@Madaily", Madl);
                                        cmd.Parameters.AddWithValue("@Ngaymothuong", Ngay);
                                        cmd.Parameters.AddWithValue("@Tenmay", _TenMay);
                                        cmd.ExecuteNonQuery();
                                    }
                                }
                                else
                                {
                                    v = clsLoTo.getValidVeCap(v);
                                    SqlCommand cmd = new SqlCommand("Insert into Bangkeloto(Vec10,Stt,Madonvi,Macanbo,Madaily,Ngaymothuong,Tenmay) values(@Vec10,@Stt,@Madonvi,@Macanbo,@Madaily,@Ngaymothuong,@Tenmay)", conn);
                                    cmd.Parameters.AddWithValue("@Vec10", v);
                                    cmd.Parameters.AddWithValue("@Stt", f1);
                                    cmd.Parameters.AddWithValue("@Madonvi", t1);
                                    cmd.Parameters.AddWithValue("@Macanbo", t2);
                                    cmd.Parameters.AddWithValue("@Madaily", Madl);
                                    cmd.Parameters.AddWithValue("@Ngaymothuong", Ngay);
                                    cmd.Parameters.AddWithValue("@Tenmay", _TenMay);
                                    cmd.ExecuteNonQuery();
                                }
                            }
                            else
                            {
                                return;
                            }

                        }
                        Loadbangke(txtslvec10000.Text, true);
                        txtslvec10000.Mask = "00-00-##-#####";
                        txtslvec10000.KeyUp += new KeyEventHandler(Ktsonhap);
                        txtslvec10000.ResetText();                       
                        Congslve(((MaskedTextBox)sender).Name);
                    }
                }
                catch
                {

                }
            }

            private void gvBangke_RowCellClick_1(object sender, DevExpress.XtraGrid.Views.Grid.RowCellClickEventArgs e)
            {
                if (e.Column.FieldName == "Ve5")
                {
                    gvBangke.OptionsBehavior.Editable = true;
                    bandedGridColumn1.OptionsColumn.AllowFocus = true;
                    bandedGridColumn2.OptionsColumn.AllowFocus = false;
                    bandedGridColumn3.OptionsColumn.AllowFocus = false;
                    bandedGridColumn4.OptionsColumn.AllowFocus = false;
                }
                if (e.Column.FieldName == "Ve10")
                {
                    gvBangke.OptionsBehavior.Editable = true;
                    bandedGridColumn1.OptionsColumn.AllowFocus = false;
                    bandedGridColumn2.OptionsColumn.AllowFocus = true;
                    bandedGridColumn3.OptionsColumn.AllowFocus = false;
                    bandedGridColumn4.OptionsColumn.AllowFocus = false;
                }
                if (e.Column.FieldName == "Vec10")
                {
                    gvBangke.OptionsBehavior.Editable = true;
                    bandedGridColumn1.OptionsColumn.AllowFocus = false;
                    bandedGridColumn2.OptionsColumn.AllowFocus = false;
                    bandedGridColumn3.OptionsColumn.AllowFocus = true;
                    bandedGridColumn4.OptionsColumn.AllowFocus = false;
                }
                if (e.Column.FieldName == "Vec20")
                {
                    gvBangke.OptionsBehavior.Editable = true;
                    bandedGridColumn1.OptionsColumn.AllowFocus = false;
                    bandedGridColumn2.OptionsColumn.AllowFocus = false;
                    bandedGridColumn3.OptionsColumn.AllowFocus = false;
                    bandedGridColumn4.OptionsColumn.AllowFocus = true;
                }
            }

            private void gvBangke_CellValueChanging_1(object sender, CellValueChangedEventArgs e)
            {
                
            }

            private void gvBangke_InvalidRowException_1(object sender, InvalidRowExceptionEventArgs e)
            {
                e.ExceptionMode = ExceptionMode.NoAction;
            }

            private void gvBangke_FocusedRowChanged_1(object sender, FocusedRowChangedEventArgs e)
            {
                if (!isLoad)
                {
                    focusRow = e.FocusedRowHandle;
                }
            }

            private void txtslve5000_KeyPress_1(object sender, KeyPressEventArgs e)
            {
                if ((e.KeyChar > (char)47) && (e.KeyChar < (char)58) || (e.KeyChar == (char)43) || (e.KeyChar == 45) || (e.KeyChar == 13) || (e.KeyChar == 127) || (e.KeyChar == 8))
                {
                    e.Handled = false;
                }
                else
                {
                    e.Handled = true;
                }
            }

            private void txtmadl_KeyPress_1(object sender, KeyPressEventArgs e)
            {
                //if ((e.KeyChar > (char)47) && (e.KeyChar < (char)58) || (e.KeyChar == 13) || (e.KeyChar == 127) || (e.KeyChar == 8))
                //{
                //    e.Handled = false;
                //}
                //else
                //{
                //    e.Handled = true;
                //}
                
            }

            private void txtslve10000_KeyPress_1(object sender, KeyPressEventArgs e)
            {
                if ((e.KeyChar > (char)47) && (e.KeyChar < (char)58) || (e.KeyChar == (char)43) || (e.KeyChar == 45) || (e.KeyChar == 13) || (e.KeyChar == 127) || (e.KeyChar == 8))
                {
                    e.Handled = false;
                }
                else
                {
                    e.Handled = true;
                }
            }

            private void txtslvec20000_KeyDown(object sender, KeyEventArgs e)
            {
                try
                {
                    if (txtslvec20000.SelectionStart >= 3)
                    {
                        if (string.IsNullOrWhiteSpace(txtslvec20000.Text.Substring(0, 2)))
                        {
                            clsCommon.MsgBox("Vui lòng nhập ô đầu tiên", 0);
                            txtslvec20000.Text = "";
                        }
                    }
                    if (e.KeyData == Keys.Enter)
                    {
                        DateTime Ngay = (DateTime)clsCommon.Parse(txtngaymt.Text, 4);
                        String Madl = txtmadl.Text.Trim();
                        if (Madl == "")
                        {
                            clsCommon.MsgBox("Bạn chưa nhập mã đại lý.", 0);
                            return;
                        }
                        if (_TenMay == "")
                        {
                            clsCommon.MsgBox("Máy tính đã bị treo, bạn hãy thoát ra rồi vào lại", 0);
                            return;
                        }

                        SqlConnection conn = new SqlConnection(BienTc.connString);
                        if (conn.State == ConnectionState.Closed)
                        {
                            conn.Open();
                        }
                        SqlDataAdapter da = null;
                        DataTable dt = null;
                        string v = "", t = "", t1 = "", t2 = "", k = "";
                        int a = 0, b = 0, c1 = 0, l = 0;
                        int i = 0;
                        t = Madl;
                        t1 = t.Substring(0, 1);
                        t2 = t.Substring(0, 2);
                        v = txtslvec20000.Text.Trim();
                        da = new SqlDataAdapter("Select Vec20 from Bangkeloto Where Madaily=@Madl and Convert(Datetime,Ngaymothuong,103) = Convert(Datetime,@Ngay,103)  and (Vec20 is null or len(Vec20)=0) Order by ID DESC", conn);
                        da.SelectCommand.Parameters.AddWithValue("@Madl", txtmadl.Text);
                        da.SelectCommand.Parameters.AddWithValue("@Ngay", txtngaymt.DateTime);
                        dt = new DataTable();
                        da.Fill(dt);
                        string ss = "";
                        string s = "";
                        string ss1 = "";
                        string s1 = "";
                        string ss2 = "";
                        string s2 = "";
                        int slvehientai = 0;
                        foreach (char c in v)
                        {
                            if (c == '-')
                            {
                                l = l + 1;
                            }
                        }
                        if (l >= 4)
                        {
                            clsCommon.MsgBox("Bạn nhập số dự thưởng sai quy định", 0);
                            return;
                        }
                        if (v.Contains("+"))
                        {
                            if (v.IndexOf("+").ToString() == v.LastIndexOf("+").ToString())
                            {
                                a = v.IndexOf("+");
                                b = v.Length;
                                c1 = b - a - 1;
                                foreach (char c in v.Substring(a + 1, c1))
                                {
                                    if (c == '-')
                                    {
                                        s1 = "";
                                    }
                                    else
                                    {
                                        s1 = c.ToString();
                                    }
                                    ss1 += s1;
                                }
                                if (ss1.Trim() == "")
                                {
                                    clsCommon.MsgBox("Bạn nhập số dự thưởng sai quy định", 0);
                                    return;
                                }
                                foreach (char c in v.Substring(0, a))
                                {
                                    if (c == '-')
                                    {
                                        s2 = "";
                                    }
                                    else
                                    {
                                        s2 = c.ToString();
                                    }
                                    ss2 += s2;
                                }
                                int d = ss2.Trim().Length;
                                if (d % 2 != 0)
                                {
                                    clsCommon.MsgBox("Bạn nhập số dự thưởng sai quy định", 0);
                                    return;
                                }
                                slvehientai = CheckValidate.GetSlVeHienTai(v.Substring(0, a), Ngay, Madl, "Vec10", null) + int.Parse(ss1.Trim());
                                if (slvehientai > 100)
                                {
                                    clsCommon.MsgBox("Bạn ko được phép nhập quá 100 vé cặp 10", 0);
                                    return;
                                }
                                for (i = 1; i <= int.Parse(ss1.Trim()); i++)
                                {
                                    k = v.Substring(0, a);
                                    k = clsLoTo.getValidVeCap(k);
                                    da = new SqlDataAdapter("Select Vec20 from Bangkeloto Where Madaily=@Madl and Convert(Datetime,Ngaymothuong,103) = Convert(Datetime,@Ngay,103) and (Vec20 is null or len(Vec20)=0) Order by ID DESC", conn);
                                    da.SelectCommand.Parameters.AddWithValue("@Madl", Madl);
                                    da.SelectCommand.Parameters.AddWithValue("@Ngay", Ngay);
                                    dt = new DataTable();
                                    da.Fill(dt);
                                    if (dt != null && dt.Rows.Count > 0)
                                    {
                                        if (dt.Rows[0]["Vec20"] == null || dt.Rows[0]["Vec20"].ToString().Trim().Length == 0)
                                        {
                                            da = new SqlDataAdapter("Select ID from Bangkeloto Where Madaily=@Madl and Convert(Datetime,Ngaymothuong,103) = Convert(Datetime,@Ngay,103) and (Vec20 is null or len(Vec20)=0) Order by ID", conn);
                                            da.SelectCommand.Parameters.AddWithValue("@Madl", Madl);
                                            da.SelectCommand.Parameters.AddWithValue("@Ngay", Ngay);
                                            dt = new DataTable();
                                            da.Fill(dt);
                                            if (dt != null && dt.Rows.Count > 0)
                                            {
                                                SqlCommand cmd = new SqlCommand("Update Bangkeloto set Vec20 = @so Where ID=@id", conn);
                                                cmd.Parameters.AddWithValue("@so", k);
                                                cmd.Parameters.AddWithValue("@id", dt.Rows[0][0]);
                                                cmd.ExecuteNonQuery();
                                            }
                                        }
                                    }
                                    else
                                    {
                                        SqlCommand cmd = new SqlCommand("Insert into Bangkeloto(Stt,Vec20,Madonvi,Macanbo,Madaily,Ngaymothuong,Tenmay) values (@Stt,@Vec20,@Madonvi,@Macanbo,@Madaily, @Ngaymothuong,@Tenmay)", conn);
                                        cmd.Parameters.AddWithValue("@Vec20", k);
                                        cmd.Parameters.AddWithValue("@Stt", f1);
                                        cmd.Parameters.AddWithValue("@Madonvi", t1);
                                        cmd.Parameters.AddWithValue("@Macanbo", t2);
                                        cmd.Parameters.AddWithValue("@Madaily", Madl);
                                        cmd.Parameters.AddWithValue("@Ngaymothuong", Ngay);
                                        cmd.Parameters.AddWithValue("@Tenmay", _TenMay);
                                        cmd.ExecuteNonQuery();
                                        f1 = f1 + 1;
                                    }
                                    //if (i > 25)
                                    //{
                                    //    txtslvec20000.Text = "";
                                    //    Loadbangke();
                                    //    Congslve();
                                    //    clsCommon.MsgBox("Một bảng kê không được nhập quá 25 số dự thưởng liên tục", 0);
                                    //    return;
                                    //}
                                }
                            }
                            else
                            {
                                return;
                            }
                        }
                        else
                        {
                            // nhap 1 ve
                            slvehientai = CheckValidate.GetSlVeHienTai(v, Ngay, Madl, "Vec20", null) +1;
                            if (slvehientai > 100)
                            {
                                clsCommon.MsgBox("Bạn ko được phép nhập quá 100 vé cặp 20", 0);
                                return;
                            }
                            foreach (char c in v)
                            {
                                if (c == '-')
                                {
                                    s = "";
                                }
                                else
                                {
                                    s = c.ToString();
                                }
                                ss += s;
                            }
                            int d = ss.ToString().Trim().Length;
                            if (d <= 3)
                            {
                                return;
                            }
                            if (d % 2 == 0)
                            {
                                v = clsLoTo.getValidVeCap(v);
                                if (dt != null && dt.Rows.Count > 0)
                                {
                                    if (dt.Rows[0]["Vec20"] == null || dt.Rows[0]["Vec20"].ToString().Trim().Length == 0)
                                    {
                                        da = new SqlDataAdapter("Select ID from Bangkeloto Where Madaily=@Madl and Convert(Datetime,Ngaymothuong,103) = Convert(Datetime,@Ngay,103) and (Vec20 is null or len(Vec20)=0) Order by ID", conn);
                                        da.SelectCommand.Parameters.AddWithValue("@Madl", Madl);
                                        da.SelectCommand.Parameters.AddWithValue("@Ngay", Ngay);
                                        dt = new DataTable();
                                        da.Fill(dt);
                                        if (dt != null && dt.Rows.Count > 0)
                                        {
                                            SqlCommand cmd = new SqlCommand("Update Bangkeloto set Vec20=@so Where ID=@id", conn);
                                            cmd.Parameters.AddWithValue("@so", v);
                                            cmd.Parameters.AddWithValue("@id", dt.Rows[0][0]);
                                            cmd.ExecuteNonQuery();
                                        }
                                    }
                                    else
                                    {
                                        SqlCommand cmd = new SqlCommand("Insert into Bangkeloto(Vec20,Stt,Madonvi,Macanbo,Madaily,Ngaymothuong,Tenmay) values(@Vec20,@Stt,@Madonvi,@Macanbo,@Madaily,@Ngaymothuong,@Tenmay)", conn);
                                        cmd.Parameters.AddWithValue("@Vec20", v);
                                        cmd.Parameters.AddWithValue("@Stt", f1);
                                        cmd.Parameters.AddWithValue("@Madonvi", t1);
                                        cmd.Parameters.AddWithValue("@Macanbo", t2);
                                        cmd.Parameters.AddWithValue("@Madaily", Madl);
                                        cmd.Parameters.AddWithValue("@Ngaymothuong", Ngay);
                                        cmd.Parameters.AddWithValue("@Tenmay", _TenMay);
                                        cmd.ExecuteNonQuery();
                                    }
                                }
                                else
                                {
                                    SqlCommand cmd = new SqlCommand("Insert into Bangkeloto(Vec20,Stt,Madonvi,Macanbo,Madaily,Ngaymothuong,Tenmay) values(@Vec20,@Stt,@Madonvi,@Macanbo,@Madaily,@Ngaymothuong,@Tenmay)", conn);
                                    cmd.Parameters.AddWithValue("@Vec20", v);
                                    cmd.Parameters.AddWithValue("@Stt", f1);
                                    cmd.Parameters.AddWithValue("@Madonvi", t1);
                                    cmd.Parameters.AddWithValue("@Macanbo", t2);
                                    cmd.Parameters.AddWithValue("@Madaily", Madl);
                                    cmd.Parameters.AddWithValue("@Ngaymothuong", Ngay);
                                    cmd.Parameters.AddWithValue("@Tenmay", _TenMay);
                                    cmd.ExecuteNonQuery();
                                }
                            }else
                            {
                                return;
                            }

                        }
                        Loadbangke(txtslvec20000.Text, true);
                        txtslvec20000.Mask = "00-00-##-#####";
                        txtslvec20000.KeyUp += new KeyEventHandler(Ktsonhapc20);
                        txtslvec20000.ResetText();
                        Congslve(((MaskedTextBox)sender).Name);
                    }
                }
                catch
                {

                }
            }

            private void btnTinhdt_Click(object sender, EventArgs e)
            {

            }
            private void DeActiveNhapSoDuThuongLoTo()
            {
                bool enable = false;
                txtslve5000.Enabled = enable;
                txtslve10000.Enabled = enable;
                txtslvec10000.Enabled = enable;
                txtslvec20000.Enabled = enable;
                txtslv5.Enabled = enable;
                txtslv10.Enabled = enable;
                txtslvc10.Enabled = enable;
                txtslvc20.Enabled = enable;
            }
            private  void ActiveNhapSoDuThuongLoTo()
            {
                bool enable = true;
                txtslve5000.Enabled = enable;
                txtslve10000.Enabled = enable;
                txtslvec10000.Enabled = enable;
                txtslvec20000.Enabled = enable;
                txtslv5.Enabled = enable;
                txtslv10.Enabled = enable;
                txtslvc10.Enabled = enable;
                txtslvc20.Enabled = enable;
            }
            private bool ActiveTxtBoxInList()
            {
                bool isActive = false;
                        if (!string.IsNullOrWhiteSpace(txtslve5000.Text))
                        {
                            txtslve5000.Enabled = true;
                            txtslve10000.Enabled = false;
                            txtslvec10000.Enabled = false;
                            txtslvec20000.Enabled = false;
                            txtslve5000.Focus();
                            isActive = true;
                        }
                        else
                        {
                            if (!string.IsNullOrWhiteSpace(txtslve10000.Text))
                            {
                                txtslve5000.Enabled = false;
                                txtslve10000.Enabled = true;
                                txtslvec10000.Enabled = false;
                                txtslvec20000.Enabled = false;
                                txtslve10000.Focus();
                                isActive = true;
                            }
                            else
                            {
                                if (txtslvec10000.Text != "  -  -  -")
                                {
                                    txtslve5000.Enabled = false;
                                    txtslve10000.Enabled = false;
                                    txtslvec10000.Enabled = true;
                                    txtslvec20000.Enabled = false;
                                    txtslvec10000.Focus();
                                    isActive = true;
                                }
                                else
                                {
                                    if (txtslvec20000.Text != "  -  -  -")
                                    {
                                        txtslve5000.Enabled = false;
                                        txtslve10000.Enabled = false;
                                        txtslvec10000.Enabled = false;
                                        txtslvec20000.Enabled = true;
                                        txtslvec20000.Focus();
                                        isActive = true;
                                    }
                                }
                            }
                        }
                        return isActive;
                       
                        
                }

            private void btnXoa_Click(object sender, EventArgs e)
            {
                frmXoaLoto frm = new frmXoaLoto();
                frm.NgayMoThuong = (DateTime)clsCommon.Parse(txtngaymt.Text, 4);
                frm.MaDaiLy = txtmadl.Text;
                frm.ShowDialog();
                Loadbangke();
                Congslve(null,true);
            }

            private void txtmadl_Click(object sender, EventArgs e)
            {
                checkSLveThucTe();
            }

            private void gvBangke_KeyDown(object sender, KeyEventArgs e)
            {
                
                
            }

            private void txtmadl_TextChanged(object sender, EventArgs e)
            {
                var regex = new Regex(@"[0-9][A-Z0-9]\d{2}");
                MatchCollection matches = regex.Matches(txtmadl.Text);
                if (txtmadl.Text.Trim().Length >= 4 && matches.Count == 0)
                {
                    //tell the user
                    MessageBox.Show("Bạn nhâp sai mã đại lý");
                    txtmadl.Text = null;
                }
                
            }              
        }
    // Class kiểm tra tông tiền đã nhập của 1 mã vé theo độ dài vé {2,3,4} chữ số có bằng tổng tiền cho phép theo độ dài của vé {2,3,4}
    public class CheckValidate
    {
        // Tổng tiền cho phép với haiso, baso, bonso
        public enum TongtienChoPhep
        {
            HaiSo = 300000,
            BaSo = 500000,
            BonSo = 1000000
        }
        // Trả về biger nếu thừa tiền, trả về Zero nếu ko hợp lệ, trả về EqualsorSmaller nếu nhỏ hơn hoặc bằng tổng tiền cho phép
        public enum CompareTongTien
        {
            Biger = 3,
            Zero = 2,
            BigerorEquals = 1,
            Equals = 0,
            EqualsorSmaller = -1,
            Smaller = -2
        }
        // Tính thừa tiền trong trường hợp tổng tiền thực tế lớn hơn tổng tiền cho phép
        public static List<int> tinhThuaTien(String _mave,int _soluongveNhap, String _loaive, int slvehientai,ref int tsotienthua, string _nhieuloaive = "Ve5Ve10")
        {
            int tongtiennhap = 0, tongtien_hientai = 0
                , tongtienChoPhep = 0;
            if (_mave.Length <= 2)
            {
                tongtienChoPhep = (int)TongtienChoPhep.HaiSo;
            }
            else
            {
                if (_mave.Length == 3)
                {
                    tongtienChoPhep = (int)TongtienChoPhep.BaSo;
                }
                if (_mave.Length == 4)
                {
                    tongtienChoPhep = (int)TongtienChoPhep.BonSo;
                }
            }
            switch (_loaive)
            {
                case "Ve5":
                    tongtiennhap = _soluongveNhap * 5000;
                    tongtien_hientai = slvehientai * 5000;

                    break;
                case "Ve10":
                    tongtiennhap = _soluongveNhap * 10000;
                    tongtien_hientai = slvehientai * 10000;
                    break;
                case "Vec10":
                    tongtiennhap = _soluongveNhap * 10000;
                    tongtien_hientai = slvehientai * 10000;
                    break;
                case "Vec20":
                    tongtiennhap = _soluongveNhap * 20000;
                    tongtien_hientai = slvehientai * 20000;

                    break;
            }
            if (_nhieuloaive == "Ve5Ve10")
            {
                tongtien_hientai = slvehientai;
            }
            int TongTienThua = tongtienChoPhep - (tongtiennhap + tongtien_hientai);

            List<int> ThuaTien = new List<int>();
            int mod10 = 0,div10 = 0,mod5 = 0,div5 = 0;
            if (TongTienThua < 0)
            {
                TongTienThua = Math.Abs(TongTienThua);
                tsotienthua = TongTienThua;
                if (_nhieuloaive == "Ve5Ve10")
                {
                  //  mod10 = TongTienThua % 10000;
                    div10 = (int)Math.Ceiling( (double)(TongTienThua / 10000));
                   // mod5 = (TongTienThua - div10) % 5000;
                  //  div5 = TongTienThua / 5000;
                    div5 = (int)Math.Ceiling((double)(TongTienThua / 5000));
                    // 
                    //if (mod10 > 0)
                    //{
                    //  //  mod5 = (TongTienThua - div10) % 5000;
                    //    div5 = (TongTienThua - div10) / 5000;
                    //}
                    ThuaTien.Add(div10);
                    ThuaTien.Add(div5);
                }
                else
                {
                    switch (_loaive)
                    {
                        case "Ve5":
                           // mod5 = (TongTienThua - div10) % 5000;
                            div5 = TongTienThua  / 5000;
                            break;
                        case "Ve10":
                           // mod10 = TongTienThua % 10000;
                            div10 = TongTienThua / 10000;
                            break;
                    }
                    ThuaTien.Add(div10);
                    ThuaTien.Add(div5);
                }
            }

            return ThuaTien;
        }
       // Trả về true nếu tổng tiền thực tế nhỏ hơn hoặc bằng tổng tiền cho phép
        public static bool isValidateTongSLVE(int _soluongveNhap, int _tongtienChoPhep, String _loaive, int slvehientai, string _nhieuloaive = "Ve5Ve10")
        {
            int tongtiennhap = 0, tongtien_hientai = 0;
            
            switch (_loaive)
            {
                case "Ve5":
                    tongtiennhap = _soluongveNhap * 5000;
                    tongtien_hientai = slvehientai * 5000;

                    break;
                case "Ve10":
                    tongtiennhap = _soluongveNhap * 10000;
                    tongtien_hientai = slvehientai * 10000;
                    break;
                case "Vec10":
                    tongtiennhap = _soluongveNhap * 10000;
                    tongtien_hientai = slvehientai * 10000;
                    break;
                case "Vec20":
                    tongtiennhap = _soluongveNhap * 20000;
                    tongtien_hientai = slvehientai * 20000;

                    break;
            }
            if (_nhieuloaive == "Ve5Ve10")
            {
                tongtien_hientai = slvehientai;
            }
            
            return ((tongtiennhap + tongtien_hientai) <= _tongtienChoPhep);
        }
        // Trả về biger nếu thừa tiền, trả về Zero nếu ko hợp lệ, trả về EqualsorSmaller nếu nhỏ hơn hoặc bằng tổng tiền cho phép
        public static int CheckValidateTongSoLuongVe(String _mave, String _madaily, DateTime _ngaynhap, int _soluongveNhap, String _loaive, 
             ref int slvehientai,String _nhieuloaive = "Ve5Ve10")
        {
            // khong cho phep nhap Ve10  4 ky tu tro len
            if (_mave.Length > 4 && _loaive.Equals("Ve10"))
            {
                //_nhieuloaive = null;
                return (int)CompareTongTien.Zero;
            }
            // tinh cho Ve5 4 ky tu tro len
           if (_mave.Length > 4 && _loaive.Equals("Ve5"))
            {
                _nhieuloaive = null;
            }
            // xac dinh tong tien cho phep dua tren _mave
           int tongtienChoPhep = 0;
           if (_mave.Length <= 2)
           {
               tongtienChoPhep = (int)TongtienChoPhep.HaiSo;
           }
           else
           {
               if (_mave.Length == 3)
               {
                   tongtienChoPhep = (int)TongtienChoPhep.BaSo;
               }
               if (_mave.Length == 4)
               {
                   tongtienChoPhep = (int)TongtienChoPhep.BonSo;
               }
           }
            // xac dinh tong tien hien tai dua theo _madaily, _ngaynhap, _mave
           slvehientai = 0;
           String _madonvi = _madaily.Substring(0,1);
           String format_query = ""
               ,query = "";
           // xac dinh nhieu loai ve
           SqlConnection conn = new SqlConnection(BienTc.connString);
           if (conn.State == ConnectionState.Closed)
           {
               conn.Open();
           }
           
           switch (_nhieuloaive)
           {
               case "Ve5Ve10":

                   format_query = "(SELECT COUNT(*)*5000 AS TOTAL FROM Bangkeloto where Ve5 = '{0}'  and Madaily = '{1}'and Madonvi = '{2}' and Ngaymothuong = '{3}')  "
                                +" UNION ALL "
                                + " (SELECT COUNT(*)*10000 AS TOTAL FROM Bangkeloto where Ve10 = '{0}'  and Madaily = '{1}'and Madonvi = '{2}' and Ngaymothuong = '{3}') ";
                   query = String.Format(format_query, _mave, _madaily, _madonvi, _ngaynhap.ToString("yyyy-MM-dd"), _loaive);
                   
                   SqlDataAdapter da = new SqlDataAdapter(query, conn);
                   DataTable dt = new DataTable();
                   da.Fill(dt);
                   if (dt.Rows.Count > 0)
                   {
                       var x = dt.Compute("Sum(TOTAL)", ""); 
                      slvehientai = int.Parse(x.ToString());
                      
                   }
                   break;
               case null:
                   format_query = "SELECT COUNT(*) FROM Bangkeloto where {4} = '{0}' and Madaily = '{1}'and Madonvi = '{2}' and Ngaymothuong = '{3}'";
                   query = String.Format(format_query, _mave, _madaily, _madonvi, _ngaynhap.ToString("yyyy-MM-dd"), _loaive);

                   dt = new DataTable();
                   da = new SqlDataAdapter(query, conn);
                   da.Fill(dt);
                   if (dt.Rows.Count > 0)
                   {
                       slvehientai = int.Parse(dt.Rows[0][0].ToString());
                   }
                    break;
              }

           bool isValidTongSLVE = CheckValidate.isValidateTongSLVE(_soluongveNhap, tongtienChoPhep, _loaive, slvehientai, _nhieuloaive);
            // xac dinh tong hien nhap dua theo _mave,soluongve_nhap,_loaive cua dai ly va check hop le 
           return (isValidTongSLVE) ? (int)CompareTongTien.EqualsorSmaller : (int)CompareTongTien.Biger;
        }
        public static int GetSlVeHienTai(string _mave,DateTime _ngaynhap,string _madaily, string _loaive,string _nhieuloaive = "Ve5Ve10")
        {
            int slvehientai = 0;
            String _madonvi = _madaily.Substring(0, 1);

            if (_loaive == "Vec10" || _loaive == "Vec20")
            {
                string _vemoi = null;
                if (!String.IsNullOrEmpty(_mave))
                {
                    string[] listofcapve = _mave.Split('-');
                    foreach(string item in listofcapve)
                    {
                        if (String.IsNullOrWhiteSpace(item))
                        {
                            _mave = _vemoi;
                            break;
                        }
                        _vemoi += item + "-";
                    }
                }
            }
            //56-78- 56-78--
            String format_query = ""
                , query = "";
            // xac dinh nhieu loai ve
            SqlConnection conn = new SqlConnection(BienTc.connString);
            if (conn.State == ConnectionState.Closed)
            {
                conn.Open();
            }

            switch (_nhieuloaive)
            {
                case "Ve5Ve10":

                    format_query = "(SELECT COUNT(*)*5000 AS TOTAL FROM Bangkeloto where Ve5 = '{0}'  and Madaily = '{1}'and Madonvi = '{2}' and Ngaymothuong = '{3}')  "
                                 + " UNION ALL "
                                 + " (SELECT COUNT(*)*10000 AS TOTAL FROM Bangkeloto where Ve10 = '{0}'  and Madaily = '{1}'and Madonvi = '{2}' and Ngaymothuong = '{3}') ";
                    query = String.Format(format_query, _mave, _madaily, _madonvi, _ngaynhap.ToString("yyyy-MM-dd"), _loaive);

                    SqlDataAdapter da = new SqlDataAdapter(query, conn);
                    DataTable dt = new DataTable();
                    da.Fill(dt);
                    if (dt.Rows.Count > 0)
                    {
                        var x = dt.Compute("Sum(TOTAL)", "");
                        slvehientai = int.Parse(x.ToString());

                    }
                    break;
                case null:
                    format_query = "SELECT COUNT(*) FROM Bangkeloto where {4} = '{0}' and Madaily = '{1}'and Madonvi = '{2}' and Ngaymothuong = '{3}'";
                    query = String.Format(format_query, _mave, _madaily, _madonvi, _ngaynhap.ToString("yyyy-MM-dd"), _loaive);

                    dt = new DataTable();
                    da = new SqlDataAdapter(query, conn);
                    da.Fill(dt);
                    if (dt.Rows.Count > 0)
                    {
                        slvehientai = int.Parse(dt.Rows[0][0].ToString());
                    }
                    break;
            }
            return slvehientai;
        }
    }
    // Class kiểm tra nếu đã nhập vé thì phải nhập sl vé thực tế, nếu ko nhập thì ko cho thoát
    public class CheckNhapSLVeThucTe
    {
        // Focus đến ô nhập số lượng vé thực tế
        //public void FocusToSoLuongVeThucTe(string loaive)
        //{
        //    switch (loaive)
        //    {
        //        case "vé 5":
                    
        //            break;
        //        case "vé 10":
        //            break;
        //        case "vé cặp 10":
        //            break;
        //        case "vé cặp 20":
        //            break;
        //    }
        //}
        // Thông báo nếu chưa nhập số lượng vé thực tế khi đã nhập vé
        public bool checkandShowMessage(bool isValidthucte, bool isValiddanhap
            ,int slvethucte,int slvedanhap,string loaive
            )
        {
            bool isvalid = true;
            if (isValiddanhap)
            {
                if (!isValidthucte)
                {
                    clsCommon.MsgBox("Vui lòng nhập số lượng vé thực tế của "+ loaive, 0);
                    
                    isvalid = false;
                }
                else {
                    if (slvedanhap != slvethucte)
                    {
                        clsCommon.MsgBox("Vui lòng nhập số lượng vé thực tế bằng số lượng vé đã nhập của "+ loaive, 0);
                        
                        isvalid=   false;
                    }
                }
                
            }
            return isvalid;
        }
        //// Neu sl ve da nhap rong thi tra ve  false
        //public bool CheckSoLuongRong(string danhap)
        //{
            
        //}
        // Kiêm tra đã nhập slvethucte
        public  int CheckKoChoThoatNeuDaNhapVe(string slv5_thucte,string slv10_thucte,string slvc10_thucte,string slvc20_thucte
            , string slv5_danhap, string slv10_danhap, string slvc10_danhap, string slvc20_danhap
            )
        {
            int slv5_thucte_test, slv10_thucte_test, slvc10_thucte_test, slvc20_thucte_test
            , slv5_danhap_test, slv10_danhap_test, slvc10_danhap_test, slvc20_danhap_test;
            // check ve 5
            bool isValidthucte = int.TryParse(slv5_thucte, out slv5_thucte_test);
            bool isValiddanhap = int.TryParse(slv5_danhap, out slv5_danhap_test);
            bool isContinue = false;
            if (string.IsNullOrEmpty(slv5_danhap) || slv5_danhap_test == 0)
                isContinue = true;
            else {
                isContinue = checkandShowMessage(isValidthucte, isValiddanhap, slv5_thucte_test, slv5_danhap_test, "vé 5");
            }
            if (!isContinue)
                return 1;
            // check ve 10
            isValidthucte = int.TryParse(slv10_thucte, out slv10_thucte_test);
            isValiddanhap = int.TryParse(slv10_danhap, out slv10_danhap_test);
            if (string.IsNullOrEmpty(slv10_danhap) || slv10_danhap_test == 0)
                isContinue = true;
            else {
                isContinue = checkandShowMessage(isValidthucte, isValiddanhap, slv10_thucte_test, slv10_danhap_test, "vé 10");

           }
            if (!isContinue)
                return 2;
            // check vec 10
            isValidthucte = int.TryParse(slvc10_thucte, out slvc10_thucte_test);
            isValiddanhap = int.TryParse(slvc10_danhap, out slvc10_danhap_test);
            if (string.IsNullOrEmpty(slvc10_danhap) || slvc10_danhap_test == 0)
                isContinue = true;
            else
            {
                isContinue = checkandShowMessage(isValidthucte, isValiddanhap, slvc10_thucte_test, slvc10_danhap_test, "vé cặp 10");
            }
            if (!isContinue)
                return 3;
            // check vec 20
            isValidthucte = int.TryParse(slvc20_thucte, out slvc20_thucte_test);
            isValiddanhap = int.TryParse(slvc20_danhap, out slvc20_danhap_test);
            if (string.IsNullOrEmpty(slvc20_danhap) || slvc20_danhap_test == 0)
                isContinue = true;
            else
            {
                isContinue = checkandShowMessage(isValidthucte, isValiddanhap, slvc20_thucte_test, slvc20_danhap_test, "vé cặp 20");
                
            }
            if (!isContinue)
                return 4;
            else
            {
                return 0;
            }            
        }
    }

    public class CheckNhapLienTiep
    {
        public enum TruongHop
        {
            Nhay1 =1,
            Nhay10=2,
            Nhay11=3
        }
        public enum DonViNhay
        {
            Nhay1 = 1,
            Nhay10 = 10,
            Nhay11 = 11
        }
        public enum MaLoi
        {
            LoiKoHopLe = 1,
            LoiThuaTienNhayLienTiep = 2
            ,KoLoi = 3
        }
        public static Dictionary<MaLoi, string >Check(TruongHop _truonghop,string _mavedau,string _mavecuoi,String _madaily, DateTime _ngaynhap, String _loaive
             ,  ref int STT,String _nhieuloaive = "Ve5Ve10")
        {
            Dictionary<MaLoi,string> result = new Dictionary<MaLoi,string>();
            string message = "";
            int buocNhay = 0,thongbaothuatheoloaive = 0;
            switch (_truonghop)
            {
                case TruongHop.Nhay1:
                    buocNhay = (int)DonViNhay.Nhay1;
                    break;
                case TruongHop.Nhay10:
                    buocNhay = (int)DonViNhay.Nhay10;
                    break;
                case TruongHop.Nhay11:
                    buocNhay = (int)DonViNhay.Nhay11;
                    break;
            }
            switch (_loaive)
            {
                case "Ve5":
                    thongbaothuatheoloaive = 1;
                    break;
                case "Ve10":
                    thongbaothuatheoloaive = 0;
                    break;
            }
            int _mavedauToInt = 0, _mavecuoiToInt = 0;
            int.TryParse(_mavedau, out _mavedauToInt);
            int.TryParse(_mavecuoi, out _mavecuoiToInt);
            if (_mavedauToInt == 0 && _mavecuoiToInt == 0)
            {
                message = "Bạn nhập dãy số nhảy liên tiếp ko hợp lệ";
                result.Add(MaLoi.LoiKoHopLe,message);
            }
            else
            {
                int CompareResult = (int)CheckValidate.CompareTongTien.Zero, slvehientai = 0;
                int tsotienthua = 0;
                bool isValid = true;
                string ve = "",query = "";
                SqlConnection conn = new SqlConnection(BienTc.connString);
                SqlDataAdapter da;
                DataTable dt;
                string _madonvi = _madaily.Substring(0, 1);
                string _macanbo =   _madaily.Substring(0, 2);
                if (conn.State == ConnectionState.Closed)
                {
                    conn.Open();
                }
                for (int i = _mavedauToInt; i <= _mavecuoiToInt; i += buocNhay)
                {
                    if (i < 10)
                    {
                        ve = "0" + i.ToString();
                    }
                    else
                    {
                        ve = i.ToString();
                    }
                    CompareResult =
                        CheckValidate.CheckValidateTongSoLuongVe(ve, _madaily, _ngaynhap, 1, _loaive, ref slvehientai);
                    if (CompareResult == (int)CheckValidate.CompareTongTien.Biger)
                    {
                        // tinh tong tien thua de xuat thong bao
                       
                        List<int> ThuaTien = CheckValidate.tinhThuaTien(ve, 1, _loaive, slvehientai, ref tsotienthua);
                        message += String.Format("\nBạn nhập số dự thưởng mã vé {3},thuộc loại vé {0} sai quy định,thừa {1} cần bỏ bớt {2} vé có mã {3}"
                            , _loaive, tsotienthua, ThuaTien[thongbaothuatheoloaive],ve);
                        isValid = false;
                    }
                    else
                    {
                        // tong so luong ve <= tong so luong ve cho phép
                        // insert xuong database
                            query = String.Format("Select {0} from Bangkeloto Where "
                                +" Madaily=@Madl and Convert(Datetime,Ngaymothuong,103) = Convert(Datetime,@Ngay,103) and ({0} is null or len({0})=0) Order by ID DESC",_loaive);
                            da = new SqlDataAdapter(query, conn);
                            da.SelectCommand.Parameters.AddWithValue("@Madl", _madaily);
                            da.SelectCommand.Parameters.AddWithValue("@Ngay", _ngaynhap);
                            dt = new DataTable();
                            da.Fill(dt);
                            if (dt != null && dt.Rows.Count > 0)
                            {
                                if (dt.Rows[0][_loaive] == null || dt.Rows[0][_loaive].ToString().Trim().Length == 0)
                                {
                                    query = String.Format("Select ID from Bangkeloto Where Madaily=@Madl and Convert(Datetime,Ngaymothuong,103) = Convert(Datetime,@Ngay,103) and ({0} is null or len({0})=0) Order by ID", _loaive);
                                    da = new SqlDataAdapter(query, conn);
                                    da.SelectCommand.Parameters.AddWithValue("@Madl", _madaily);
                                    da.SelectCommand.Parameters.AddWithValue("@Ngay", _ngaynhap);
                                    dt = new DataTable();
                                    da.Fill(dt);
                                    if (dt != null && dt.Rows.Count > 0)
                                    {
                                        query = String.Format("Update Bangkeloto set {0} = @so Where ID=@id",_loaive);
                                        SqlCommand cmd = new SqlCommand(query, conn);
                                        cmd.Parameters.AddWithValue("@so", ve);
                                        cmd.Parameters.AddWithValue("@id", dt.Rows[0][0]);
                                        cmd.ExecuteNonQuery();
                                    }
                                }
                            }
                            else
                            {
                                query = string.Format("Insert into Bangkeloto(Stt,{0},Madonvi,Macanbo,Madaily,Ngaymothuong,Tenmay) " +
                                                      "values (@Stt,@Ve,@Madonvi,@Macanbo,@Madaily, @Ngaymothuong,@Tenmay)", _loaive);
                                SqlCommand cmd = new SqlCommand(query, conn);
                                cmd.Parameters.AddWithValue("@Ve", ve);
                                cmd.Parameters.AddWithValue("@Stt", STT);
                                cmd.Parameters.AddWithValue("@Madonvi", _madonvi);
                                cmd.Parameters.AddWithValue("@Macanbo", _macanbo);
                                cmd.Parameters.AddWithValue("@Madaily", _madaily);
                                cmd.Parameters.AddWithValue("@Ngaymothuong", _ngaynhap);
                                cmd.Parameters.AddWithValue("@Tenmay", Environment.MachineName);
                                cmd.ExecuteNonQuery();
                                STT++;                                                      
                            }
                        
                    }
                }
                if(isValid){
                    result.Add(MaLoi.KoLoi,null);
                }
                else
                {
                    result.Add(MaLoi.LoiThuaTienNhayLienTiep,message);
                }

            }
            return result;
        }
    }
}